コード例 #1
0
        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)));
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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)
                           ));
            }
        }