1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using CMS.Context;
- using CMS.Models.Source;
- using CMS.Models.Target;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace CMS.Services
- {
- public class DataETLService: IBusinessService
- {
- private readonly SourceService sourceService;
- private readonly TargetService targetService;
- public DataETLService(SourceService _sourceService,TargetService _targetService) {
- sourceService = _sourceService;
- targetService = _targetService;
- }
- /// <summary>
- /// 抽取数据
- /// </summary>
- /// <returns></returns>
- public List<SourceExercise> ExtractData() {
- return sourceService.GetList();
- }
- /// <summary>
- /// 转换数据
- /// </summary>
- /// <returns></returns>
- public List<TargetExercise> TransformData(List<SourceExercise> sourceExercises)
- {
- List<TargetExercise> targetExercises = new List<TargetExercise>();
- sourceExercises.ForEach(x => {
- targetExercises.Add(new TargetExercise { ExNO = x.ExNO ,MemberID=x.MemberID,CourseNO=x.CourseNO,ClassID=x.ClassID,TPID=x.TPID});
- });
- return targetExercises;
- }
- /// <summary>
- /// 装载数据
- /// </summary>
- /// <returns></returns>
- public bool LoadData(List<TargetExercise> targetExercises)
- {
- return targetService.Insert(targetExercises);
- }
-
- public bool ETL() {
- List<SourceExercise> sourceExercises= ExtractData();
- List<TargetExercise> targetExercises = TransformData(sourceExercises);
- return LoadData(targetExercises);
- }
- }
- }
|