Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }