public virtual JsonResult VisualizationFilterCountries(VisualizationReportModel model)
        {
            _filterBusinesslogic = new VisualizationBusinessLogic();
            model.Countries      = _filterBusinesslogic.FilterCountries(ClientForGenericReports
                                                                        .GetCountriesFilter(IDBContext.Current.CurrentLanguage, model.SelectedCountryDepartments));

            return(new JsonResult()
            {
                Data = model.Countries
            });
        }
        // GET: Reports/VisualizationReport
        public virtual ActionResult VisualizationReport()
        {
            VisualizationFilterModel filterModel = new VisualizationFilterModel
            {
                Language = IDBContext.Current.CurrentLanguage
            };

            VisualizationReportModel model = CreateModel(filterModel);

            TempData["Model"] = model;
            return(View(model));
        }
        void LoadSectorsAndDivisions(VisualizationReportModel model)
        {
            _filterBusinesslogic = new VisualizationBusinessLogic();

            model.SectorDepartments =
                _filterBusinesslogic.FilterSectorDepartment(
                    ClientForGenericReports
                    .GetSectorDepartment(IDBContext.Current.CurrentLanguage));

            List <int> sectorIds =
                model.SectorDepartments.Select(x => x.ConvergenceMasterDataId).ToList();

            model.Divisions = FilterDivisionsForSectorDepartments(sectorIds);
        }
        public virtual JsonResult VisualizationFilterDivisions(VisualizationReportModel model)
        {
            if (model.SelectedSectorDepartments.Count > 0)
            {
                model.Divisions = FilterDivisionsForSectorDepartments(model.SelectedSectorDepartments);

                return(new JsonResult()
                {
                    Data = model.Divisions
                });
            }

            LoadSectorsAndDivisions(model);

            return(new JsonResult()
            {
                Data = model.Divisions
            });
        }
        VisualizationFilterModel CreateFilteredModel(VisualizationReportModel model)
        {
            VisualizationFilterModel filterModel = new VisualizationFilterModel
            {
                Language          = IDBContext.Current.CurrentLanguage,
                CountryDepartment = model.SelectedCountryDepartments.Count == 0 ? null
                    : string.Join(",", model.SelectedCountryDepartments),
                SectorDepartment = model.SelectedSectorDepartments.Count == 0 ? null
                    : string.Join(",", model.SelectedSectorDepartments),
                Country = model.SelectedCountries.Count == 0 ? null
                    : string.Join(",", model.SelectedCountries),
                Division = model.SelectedDivisions.Count == 0 ? null
                    : string.Join(",", model.SelectedDivisions),
                PublicationStatus = model.SelectedPublicationStatus.First() == 0 ? null
                    : string.Join(",", model.SelectedPublicationStatus),
                ReportType = model.SelectedReportTypes.Count == 0 ? null
                : string.Join(",", model.SelectedReportTypes),
                OperationNumber = model.OperationNumber == null ? null
                    : string.Join(",", model.OperationNumber),
            };

            return(filterModel);
        }
        VisualizationReportModel CreateModel(VisualizationFilterModel filterModel)
        {
            VisualizationReportModel result = new VisualizationReportModel();
            string language = IDBContext.Current.CurrentLanguage;

            _filterBusinesslogic = new VisualizationBusinessLogic();

            result.CountryDepartments =
                _filterBusinesslogic.FilterCountryDepartments(
                    ClientForGenericReports.GetCountryDepartments(language));

            result.Countries = _filterBusinesslogic.FilterCountries(
                ClientForGenericReports.GetCountries(language));

            result.PublicationStatus = _filterBusinesslogic.FilterPublicationsStatus(
                ClientForGenericReports.GetPublicationStatus(language));

            result.ReportTypes = _filterBusinesslogic.FilterReportTypes(
                ClientForGenericReports.GetReportTypes(language));

            LoadSectorsAndDivisions(result);

            return(result);
        }