public void UpdateModel(ProjectUpdateBatch projectUpdateBatch, List <ProjectFundingSourceExpenditureUpdate> currentProjectFundingSourceExpenditureUpdates, IList <ProjectFundingSourceExpenditureUpdate> allProjectFundingSourceExpenditureUpdates) { var projectFundingSourceExpenditureUpdatesUpdated = new List <ProjectFundingSourceExpenditureUpdate>(); if (ProjectFundingSourceExpenditures != null) { // Completely rebuild the list projectFundingSourceExpenditureUpdatesUpdated = ProjectFundingSourceExpenditures.SelectMany(x => x.ToProjectFundingSourceExpenditureUpdates(projectUpdateBatch)).ToList(); } var databaseEntities = HttpRequestStorage.DatabaseEntities; projectUpdateBatch.ExpendituresNote = ExpendituresNote; currentProjectFundingSourceExpenditureUpdates.Merge(projectFundingSourceExpenditureUpdatesUpdated, allProjectFundingSourceExpenditureUpdates, (x, y) => x.ProjectUpdateBatchID == y.ProjectUpdateBatchID && x.FundingSourceID == y.FundingSourceID && x.CalendarYear == y.CalendarYear, (x, y) => x.ExpenditureAmount = y.ExpenditureAmount, databaseEntities); }
public void UpdateModel(ProjectFirmaModels.Models.Project project, List <ProjectFirmaModels.Models.ProjectFundingSourceExpenditure> currentProjectFundingSourceExpenditures, IList <ProjectFirmaModels.Models.ProjectFundingSourceExpenditure> allProjectFundingSourceExpenditures) { var projectFundingSourceExpendituresUpdated = new List <ProjectFirmaModels.Models.ProjectFundingSourceExpenditure>(); if (ProjectFundingSourceExpenditures != null) { // Completely rebuild the list projectFundingSourceExpendituresUpdated = ProjectFundingSourceExpenditures.SelectMany(x => x.ToProjectFundingSourceExpenditures()).ToList(); } project.ExpendituresNote = ExpendituresNote; if (project.ProjectApprovalStatus == ProjectApprovalStatus.PendingApproval) { project.ExpendituresComment = Comments; } currentProjectFundingSourceExpenditures.Merge(projectFundingSourceExpendituresUpdated, allProjectFundingSourceExpenditures, (x, y) => x.ProjectID == y.ProjectID && x.FundingSourceID == y.FundingSourceID && x.CalendarYear == y.CalendarYear, (x, y) => x.ExpenditureAmount = y.ExpenditureAmount, HttpRequestStorage.DatabaseEntities); }