Пример #1
0
 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);
     }
 }
Пример #2
0
 public ActionResult Index()
 {
     ConsolidateReportCreatorModel model = new ConsolidateReportCreatorModel();
     model.Activities = _infoAdapter.GetActivities();
     model.Criteries = _infoAdapter.GetFilterCriteries();
     return View(model);
 }
Пример #3
0
 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;
        }
Пример #5
0
        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;
                }
            }
        }