public IAnalysisResult AnalyzeData(AnalysisParametersModel parameters) { SetAnalysisStrategy(parameters.AnalysisMethod); var data = ImportService.LoadDataByImportId(parameters.ImportIds); var headers = ImportService.LoadImportHeadersById(parameters.MainHeadersId); var analysisHistory = new AnalysisHistory { AnalysisDate = DateTime.Now }; var analysisData = data.GroupBy(d => d.Header.Import).Select(g => new AnalysisData { AnalysisHistory = analysisHistory, Import = g.Key }).ToList(); AnalysisRepository.SaveAnalysis(analysisHistory, analysisData); return(AnalysisStrategy.AnalyzeData(headers, data, parameters.Args)); }
public void SaveAnalysis(AnalysisHistory analysis, List <AnalysisData> data) { DbContext.AnalysisHistory.Add(analysis); DbContext.AnalysisData.AddRange(data); DbContext.SaveChanges(); }