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