示例#1
0
        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));
        }
示例#2
0
        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());
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }