// 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));
        }
        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);
        }