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
     });
 }