private async Task <ActionResult> GetFinanceOperationsList(int projectid, string export, Func <FinanceOperation, bool> predicate) { var project = await ProjectRepository.GetProjectWithFinances(projectid); var viewModel = new FinOperationListViewModel(project, UriService, project.FinanceOperations.Where(predicate).ToArray()); var exportType = ExportTypeNameParserHelper.ToExportType(export); if (exportType == null) { return(View("Operations", viewModel)); } else { var frontend = new FinanceOperationExporter(project, UriService); var generator = ExportDataService.GetGenerator(exportType.Value, viewModel.Items, frontend); var fileName = project.ProjectName + ": Финансы"; return(File(await generator.Generate(), generator.ContentType, Path.ChangeExtension(fileName.ToSafeFileName(), generator.FileExtension))); } }
private async Task <ActionResult> GetFinanceOperationsList(int projectid, string export, Func <FinanceOperation, bool> predicate) { var project = await ProjectRepository.GetProjectWithFinances(projectid); var errorResult = AsMaster(project); if (errorResult != null) { return(errorResult); } var viewModel = new FinOperationListViewModel(project, new UrlHelper(ControllerContext.RequestContext), project.FinanceOperations.Where(predicate).ToArray()); var exportType = GetExportTypeByName(export); if (exportType == null) { return(View("Operations", viewModel)); } else { return(await Export(viewModel.Items, "finance-export", exportType.Value)); } }
private async Task <ActionResult> GetFinanceOperationsList(int projectid, string export, Func <FinanceOperation, bool> predicate) { var project = await ProjectRepository.GetProjectWithFinances(projectid); var viewModel = new FinOperationListViewModel(project, UriService, project.FinanceOperations.Where(predicate).ToArray()); var exportType = GetExportTypeByName(export); if (exportType == null) { return(View("Operations", viewModel)); } else { ExportDataService.BindDisplay <User>(user => user?.GetDisplayName()); var generator = ExportDataService.GetGenerator(exportType.Value, viewModel.Items); return(File( await generator.Generate(), generator.ContentType, Path.ChangeExtension("finance-export", generator.FileExtension) )); } }