public ActionResult GenerateReportsFromSelectedProjects(GenerateReportsViewModel viewModel) { var reportTemplatePrimaryKey = (ReportTemplatePrimaryKey)viewModel.ReportTemplateID; var reportTemplate = reportTemplatePrimaryKey.EntityObject; var selectedModelIDs = viewModel.ProjectIDList; var reportTemplateGenerator = new ReportTemplateGenerator(reportTemplate, selectedModelIDs); return(reportTemplateGenerator.GenerateAndDownload()); }
public PartialViewResult SelectReportToGenerateFromSelectedProjects(GenerateReportsViewModel viewModel) { // Get the list of projects and then order them by the order they were received from the post request var projectsList = HttpRequestStorage.DatabaseEntities.Projects.Where(x => viewModel.ProjectIDList.Contains(x.ProjectID)).ToList(); projectsList = projectsList.OrderBy(p => viewModel.ProjectIDList.IndexOf(p.ProjectID)).ToList(); var reportTemplateSelectListItems = HttpRequestStorage.DatabaseEntities.ReportTemplates.ToList().Where(x => x.ReportTemplateModel.ReportTemplateModelID == ReportTemplateModel.Project.PrimaryKey).OrderBy(x => x.DisplayName).ToSelectList(x => x.ReportTemplateID.ToString(), x => $"{x.DisplayName} - {x.Description}"); var viewData = new GenerateReportsViewData(CurrentFirmaSession, projectsList, reportTemplateSelectListItems); return(RazorPartialView <GenerateReports, GenerateReportsViewData, GenerateReportsViewModel>(viewData, viewModel)); }