public ActionResult Report() { var gages = new List <Gage> { new Gage { Name = "Все", Id = 0 } }; gages.AddRange(dataManager.Gages.GetGages().ToList()); var model = new MetrologyReportViewModel { Gages = gages }; return(View("ReportGeneration", model)); }
public ActionResult Report(MetrologyReportViewModel model) { if (ModelState.IsValid) { if (model.FirstDate <= model.LastDate) { var resultGroups = dataManager.Results.GetResults().Where(x => x.ResultDate >= model.FirstDate && x.ResultDate <= model.LastDate).GroupBy(x => x.GageId); if (model.SelectedGage == 0) { model.GageGroups = (from resultGroup in resultGroups let gage = dataManager.Gages.GetGageById(resultGroup.Key) select new GageGroupeForMetrologyReport { GageName = gage.Name, SerialNumber = gage.SerialNumber, CountOfResults = resultGroup.Count() }).ToList(); } else { var gageGroup = new GageGroupeForMetrologyReport { GageName = dataManager.Gages.GetGageById(model.SelectedGage).Name, SerialNumber = dataManager.Gages.GetGageById(model.SelectedGage).SerialNumber }; var resultGroup = resultGroups.FirstOrDefault(x => x.Key == model.SelectedGage); gageGroup.CountOfResults = resultGroup != null?resultGroup.Count() : 0; model.GageGroups = new List <GageGroupeForMetrologyReport> { gageGroup }; } return(View(model)); } ModelState.AddModelError("", "Дата начала отчетного периода более поздняя, чем дата конца отчетного периода"); } var gages = new List <Gage> { new Gage { Name = "Все", Id = 0 } }; gages.AddRange(dataManager.Gages.GetGages().ToList()); model.Gages = gages; return(View("ReportGeneration", model)); }