public static void CommitChangesToProject(ProjectUpdateBatch projectUpdateBatch, IList <ProjectRegion> allProjectRegions) { var project = projectUpdateBatch.Project; var currentProjectRegions = project.ProjectRegions.ToList(); currentProjectRegions.ForEach(projectRegion => { allProjectRegions.Remove(projectRegion); }); currentProjectRegions.Clear(); if (projectUpdateBatch.ProjectRegionUpdates.Any()) { // Completely rebuild the list projectUpdateBatch.ProjectRegionUpdates.ToList().ForEach(x => { var projectRegion = new ProjectRegion(project, x.DNRUplandRegion); allProjectRegions.Add(projectRegion); }); } project.NoRegionsExplanation = projectUpdateBatch.NoRegionsExplanation; }
public static void DeleteProjectRegion(this IQueryable <ProjectRegion> projectRegions, ProjectRegion projectRegionToDelete) { DeleteProjectRegion(projectRegions, new List <ProjectRegion> { projectRegionToDelete }); }