コード例 #1
0
        public ActionResult ValidateVacancyExtensionsCsv(ReportVacancyExtensionsParameters parameters)
        {
            var validationResponse = _reportingMediator.Validate(parameters);

            switch (validationResponse.Code)
            {
            case ReportingMediatorCodes.ReportCodes.Ok:
                return(View("VacancyExtensionsCsv", validationResponse.ViewModel));

            case ReportingMediatorCodes.ReportCodes.ValidationError:
            default:
                ModelState.Clear();
                validationResponse.ValidationResult.AddToModelStateWithSeverity(ModelState, string.Empty);
                return(View("VacancyExtensionsCsv", validationResponse.ViewModel));
            }
        }
コード例 #2
0
        public ActionResult DownloadVacancyExtensionsCsv(ReportVacancyExtensionsParameters parameters)
        {
            var response = _reportingMediator.GetVacancyExtensionsReportBytes(parameters);

            switch (response.Code)
            {
            case ReportingMediatorCodes.ReportCodes.Ok:
                return(File(response.ViewModel, "text/csv", "VacancyExtensionsCsv.csv"));

            case ReportingMediatorCodes.ReportCodes.Error:
                SetUserMessage(response.Message);
                return(View("VacancyExtensionsCsv", parameters));

            default:
                throw new InvalidMediatorCodeException(response.Code);
            }
        }
コード例 #3
0
        public MediatorResponse <byte[]> GetVacancyExtensionsReportBytes(ReportVacancyExtensionsParameters parameters)
        {
            try
            {
                int?vacancyStatus = null;

                if (parameters.Status != "All")
                {
                    vacancyStatus = int.Parse(parameters.Status);
                }

                var reportResult = _reportingRepo.ReportVacancyExtensions(parameters.FromDate.Date, parameters.ToDate.Date,
                                                                          parameters.UKPRN, vacancyStatus);

                var bytes = GetCsvBytes <ReportVacancyExtensionsResultItem, ReportVacancyExtensionsResultItemClassMap>(reportResult, "");
                return(GetMediatorResponse(ReportingMediatorCodes.ReportCodes.Ok, bytes));
            }
            catch (Exception ex)
            {
                _logService.Warn(ex);
                return(GetMediatorResponse(ReportingMediatorCodes.ReportCodes.Error, new byte[0], ReportingMessages.TimeoutMessage, UserMessageLevel.Warning));
            }
        }