public MediatorResponse <byte[]> GetVacanciesListReportBytes(ReportVacanciesParameters parameters) { try { var reportResult = _reportingRepo.ReportVacanciesList(parameters.FromDate.Date, parameters.ToDate.Date); var bytes = GetCsvBytes <ReportVacanciesResultItem, ReportVacanciesResultItemClassMap>(reportResult, ""); return(GetMediatorResponse(ReportingMediatorCodes.ReportCodes.Ok, bytes)); } catch (Exception ex) { _logService.Warn(ex); return(GetMediatorResponse(ReportingMediatorCodes.ReportCodes.Error, new byte[0])); } }
public ActionResult ValidateVacanciesListCsv(ReportVacanciesParameters parameters) { var validationResponse = _reportingMediator.Validate(parameters); switch (validationResponse.Code) { case ReportingMediatorCodes.ReportCodes.Ok: return(View("VacanciesListCsv", validationResponse.ViewModel)); case ReportingMediatorCodes.ReportCodes.ValidationError: default: ModelState.Clear(); validationResponse.ValidationResult.AddToModelStateWithSeverity(ModelState, string.Empty); return(View("VacanciesListCsv", validationResponse.ViewModel)); } }
public ActionResult DownloadVacanciesListCsv(ReportVacanciesParameters parameters) { var response = _reportingMediator.GetVacanciesListReportBytes(parameters); return(File(response.ViewModel, "text/csv", "VacanciesList.csv")); }