public PartialViewResult EditProjectFundingSourceExpenditures(ProjectPrimaryKey projectPrimaryKey) { var project = projectPrimaryKey.EntityObject; var projectFundingSourceExpenditures = project.ProjectFundingSourceExpenditures.ToList(); var projectFundingSourceBudgets = project.ProjectFundingSourceBudgets.ToList(); var calendarYearRangeForExpenditures = projectFundingSourceExpenditures.CalculateCalendarYearRangeForExpenditures(project); var projectFundingSourceExpenditureBulks = ProjectFundingSourceExpenditureBulk.MakeFromList(projectFundingSourceExpenditures, calendarYearRangeForExpenditures); if (!projectFundingSourceExpenditures.Any() && projectFundingSourceBudgets.Any()) { calendarYearRangeForExpenditures = project.GetProjectUpdatePlanningDesignStartToCompletionYearRange(); if (calendarYearRangeForExpenditures.Any()) { projectFundingSourceExpenditureBulks = ProjectFundingSourceExpenditureBulk.MakeFromList(projectFundingSourceBudgets, calendarYearRangeForExpenditures); } } var viewModel = new EditProjectFundingSourceExpendituresViewModel(project, projectFundingSourceExpenditureBulks); return(ViewEditProjectFundingSourceExpenditures(project, viewModel)); }
private static ActionResult UpdateProjectFundingSourceExpenditures( EditProjectFundingSourceExpendituresViewModel viewModel, List <ProjectFundingSourceExpenditure> currentProjectFundingSourceExpenditures, Project project) { HttpRequestStorage.DatabaseEntities.ProjectFundingSourceExpenditures.Load(); var allProjectFundingSourceExpenditures = HttpRequestStorage.DatabaseEntities.AllProjectFundingSourceExpenditures.Local; viewModel.UpdateModel(currentProjectFundingSourceExpenditures, allProjectFundingSourceExpenditures, project); return(new ModalDialogFormJsonResult()); }
private PartialViewResult ViewEditProjectFundingSourceExpenditures(Project project, EditProjectFundingSourceExpendituresViewModel viewModel) { var allFundingSources = HttpRequestStorage.DatabaseEntities.FundingSources.ToList().Select(x => new FundingSourceSimple(x)).OrderBy(p => p.DisplayName).ToList(); var requiredCalendarYearRange = project.CalculateCalendarYearRangeForExpendituresWithoutAccountingForExistingYears(); var viewDataForAngularClass = new ViewDataForAngularClass(project, allFundingSources, requiredCalendarYearRange); var viewData = new EditProjectFundingSourceExpendituresViewData(viewDataForAngularClass); return(RazorPartialView <EditProjectFundingSourceExpenditures, EditProjectFundingSourceExpendituresViewData, EditProjectFundingSourceExpendituresViewModel>(viewData, viewModel)); }
public ActionResult EditProjectFundingSourceExpenditures(ProjectPrimaryKey projectPrimaryKey, EditProjectFundingSourceExpendituresViewModel viewModel) { var project = projectPrimaryKey.EntityObject; var currentProjectFundingSourceExpenditures = project.ProjectFundingSourceExpenditures.ToList(); if (!ModelState.IsValid) { return(ViewEditProjectFundingSourceExpenditures(project, viewModel)); } return(UpdateProjectFundingSourceExpenditures(viewModel, currentProjectFundingSourceExpenditures, project)); }