public ActionResult Index(ConsolidateReportCreatorModel model, string report) { if (report.Equals("Статический отчет")) { if(!model.SelectedActivities.Any()) { ModelState.AddModelError("noactivities", "Для создания статического отчета, необходимо указать виды деятельности!"); return Index(); } IEnumerable<StatisticDataModel> statisticData = _adapter.GetStaticConsolidatedReport(model); FillReportMetaData(model, statisticData); return View("StaticStatisticData", statisticData); } else { if (!model.SelectedActivities.Any() || !model.SelectedCriteries.Any()) { ModelState.AddModelError("nocriteries", "Для создания статического отчета, необходимо указать виды деятельности и условия фильтрации!"); return Index(); } ViewBag.RenderGraphic = true; IEnumerable<StatisticDataModel> statisticData = _adapter.GetDynamicConsolidatedReport(model); FillReportMetaData(model, statisticData); return View("DynamicStatisticData", statisticData); } }
public ActionResult Index() { ConsolidateReportCreatorModel model = new ConsolidateReportCreatorModel(); model.Activities = _infoAdapter.GetActivities(); model.Criteries = _infoAdapter.GetFilterCriteries(); return View(model); }
public IEnumerable<StatisticDataModel> GetStaticConsolidatedReport(ConsolidateReportCreatorModel model) { using (var proxy = new StatisticDataServiceClient()) { IEnumerable<StatisticData> statisticData = proxy.GetStaticConsolidatedReport(model.EnterpriseId, model.FederalSubjectId, model.FederalDistrictId, DateTime.Parse(model.StartDate), DateTime.Parse(model.EndDate), model.SelectedActivities.ToArray(), model.SelectedCriteries.ToArray()); return Convert(statisticData); } }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { ConsolidateReportCreatorModel model = new ConsolidateReportCreatorModel(); const string verticalMark = "filtercritery_"; const string horizontalMark = "activitycheckbox_"; NameValueCollection form = controllerContext.HttpContext.Request.Form; var activitiesCollection = new List<int>(); var filterCriteryCollection = new List<int>(); foreach (var formItem in form.AllKeys) { if (form[formItem].IndexOf(Boolean.TrueString, StringComparison.OrdinalIgnoreCase) >= 0) { if (formItem.StartsWith(horizontalMark)) { int item = Int32.Parse(formItem.Replace(horizontalMark, "")); activitiesCollection.Add(item); } else if (formItem.StartsWith(verticalMark)) { int item = Int32.Parse(formItem.Replace(verticalMark, "")); filterCriteryCollection.Add(item); } } } model.SelectedActivities = activitiesCollection; model.SelectedCriteries = filterCriteryCollection; int federalDistrictId = 0; if (Int32.TryParse(form["federalDistrictId"], out federalDistrictId)) { model.FederalDistrictId = federalDistrictId; } int federalSubjectId = 0; if (Int32.TryParse(form["federalSubjectId"], out federalSubjectId)) { model.FederalSubjectId = federalSubjectId; } int enterpriseId = 0; if (Int32.TryParse(form["enterpriseId"], out enterpriseId)) { model.EnterpriseId = enterpriseId; } model.StartDate = form["startDate"]; model.EndDate = form["endDate"]; return model; }
private void FillReportMetaData(ConsolidateReportCreatorModel model, IEnumerable<StatisticDataModel> statisticData) { foreach (StatisticDataModel eModel in statisticData) { eModel.MainActivity = "Связи, информационных технологий и массовых коммуникаций"; eModel.ReportName = "Сводный"; eModel.CreatedDateTime = String.Format("{0} {1}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString()); var activityTitles = _infoAdapter.GetActivities() .Where(x => model.SelectedActivities.Contains(x.Id) && x.Part_5 != 0) .Select(x => x.Title); StringBuilder activityTitlesStringBuilder = new StringBuilder(); foreach (var activityTitle in activityTitles) { activityTitlesStringBuilder.AppendFormat("<div style=\"padding-left:20px;\">{0}</div>", activityTitle); } eModel.Activity = activityTitlesStringBuilder.ToString(); eModel.StartDate = model.StartDate; eModel.EndDate = model.EndDate; eModel.FederalDistrict = model.FederalDistrictId == 0 ? "Все Федеральные округа" : _infoAdapter.GetFederalDistricts().Single(x => x.Id == model.FederalDistrictId) .Title; if (model.FederalSubjectId == 0) { eModel.FederalSubject = "Все субъекты федерации"; } else { FederalSubjectModel federalSubject = _infoAdapter.GetFederalSubjects(0).Single(x => x.Id == model.FederalSubjectId); eModel.FederalSubject = federalSubject.Title; } if (model.EnterpriseId == 0) { eModel.Enterprise = "Все предприятия"; } else { EnterpriseModel enterprise = _infoAdapter.GetEnterprises(0).Single(x => x.Id == model.EnterpriseId); eModel.Enterprise = enterprise.Title; } } }