/// <summary> /// Active Dependent type names of this object /// </summary> public List <string> DependentObjectNames() { var dependentObjects = new List <string>(); if (Agreements.Any()) { dependentObjects.Add(typeof(Agreement).Name); } if (FocusAreas.Any()) { dependentObjects.Add(typeof(FocusArea).Name); } if (GrantAllocations.Any()) { dependentObjects.Add(typeof(GrantAllocation).Name); } if (PersonStewardRegions.Any()) { dependentObjects.Add(typeof(PersonStewardRegion).Name); } if (ProjectRegions.Any()) { dependentObjects.Add(typeof(ProjectRegion).Name); } if (ProjectRegionUpdates.Any()) { dependentObjects.Add(typeof(ProjectRegionUpdate).Name); } return(dependentObjects.Distinct().ToList()); }
/// <summary> /// Dependent type names of this entity /// </summary> public void DeleteChildren(DatabaseEntities dbContext) { foreach (var x in Agreements.ToList()) { x.DeleteFull(dbContext); } foreach (var x in FocusAreas.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocations.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonStewardRegions.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectRegions.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectRegionUpdates.ToList()) { x.DeleteFull(dbContext); } }
public void AutoAssignProjectPriorityLandscapesAndDnrUplandRegions() { var detailedProjectLocations = ProjectLocations.Select(x => x.ProjectLocationGeometry).ToList(); var projectHasDetailedLocations = HasProjectLocationDetail; var detailedProjectLocationsAggregated = HasProjectLocationDetail ? detailedProjectLocations.Aggregate((x, y) => x.Union(y)) : null; var detailedProjectLocationsAggregatedMadeValid = HasProjectLocationDetail ? (detailedProjectLocationsAggregated.IsValid ? detailedProjectLocationsAggregated : detailedProjectLocationsAggregated.ToSqlGeometry().MakeValid().ToDbGeometryWithCoordinateSystem()) : null; var projectLocationPoint = this.ProjectLocationPoint; var projectLocationPointExists = this.HasProjectLocationPoint; var updatedProjectPriorityLandscapes = HttpRequestStorage.DatabaseEntities.PriorityLandscapes .Where(x => (projectHasDetailedLocations && x.PriorityLandscapeLocation.Intersects(detailedProjectLocationsAggregatedMadeValid)) || (projectLocationPointExists && x.PriorityLandscapeLocation.Intersects(projectLocationPoint))) .ToList() .Select(x => new ProjectPriorityLandscape(ProjectID, x.PriorityLandscapeID)) .ToList(); if (!updatedProjectPriorityLandscapes.Any()) { NoPriorityLandscapesExplanation = "Neither the simple location nor the detailed location on this project intersects with any Priority Landscape."; } else { NoPriorityLandscapesExplanation = null; } ProjectPriorityLandscapes.Merge(updatedProjectPriorityLandscapes, HttpRequestStorage.DatabaseEntities.ProjectPriorityLandscapes.Local, (x, y) => x.ProjectID == y.ProjectID && x.PriorityLandscapeID == y.PriorityLandscapeID); var updatedProjectRegions = HttpRequestStorage.DatabaseEntities.DNRUplandRegions .Where(x => (projectHasDetailedLocations && x.DNRUplandRegionLocation.Intersects(detailedProjectLocationsAggregatedMadeValid)) || (projectLocationPointExists && x.DNRUplandRegionLocation.Intersects(projectLocationPoint))) .ToList() .Select(x => new ProjectRegion(ProjectID, x.DNRUplandRegionID)) .ToList(); if (!updatedProjectRegions.Any()) { NoRegionsExplanation = "Neither the simple location nor the detailed location on this project intersects with any DNR Upland Region."; } else { NoRegionsExplanation = null; } ProjectRegions.Merge(updatedProjectRegions, HttpRequestStorage.DatabaseEntities.ProjectRegions.Local, (x, y) => x.ProjectID == y.ProjectID && x.DNRUplandRegionID == y.DNRUplandRegionID); }
public void AutoAssignProjectPriorityLandscapes(DbGeometry projectLocation) { var geometry = projectLocation.IsValid ? projectLocation : projectLocation.ToSqlGeometry().MakeValid().ToDbGeometryWithCoordinateSystem(); var updatedProjectPriorityLandscapes = HttpRequestStorage.DatabaseEntities.PriorityLandscapes .Where(x => x.PriorityLandscapeLocation.Intersects(geometry)) .ToList() .Select(x => new ProjectPriorityLandscape(ProjectID, x.PriorityLandscapeID)) .ToList(); ProjectPriorityLandscapes.Merge(updatedProjectPriorityLandscapes, HttpRequestStorage.DatabaseEntities.ProjectPriorityLandscapes.Local, (x, y) => x.ProjectID == y.ProjectID && x.PriorityLandscapeID == y.PriorityLandscapeID); var updatedProjectRegions = HttpRequestStorage.DatabaseEntities.DNRUplandRegions .Where(x => x.DNRUplandRegionLocation.Intersects(geometry)) .ToList() .Select(x => new ProjectRegion(ProjectID, x.DNRUplandRegionID)) .ToList(); ProjectRegions.Merge(updatedProjectRegions, HttpRequestStorage.DatabaseEntities.ProjectRegions.Local, (x, y) => x.ProjectID == y.ProjectID && x.DNRUplandRegionID == y.DNRUplandRegionID); }
/// <summary> /// Does this object have any dependent objects? (If it does have dependent objects, these would need to be deleted before this object could be deleted.) /// </summary> /// <returns></returns> public bool HasDependentObjects() { return(Agreements.Any() || FocusAreas.Any() || GrantAllocations.Any() || PersonStewardRegions.Any() || ProjectRegions.Any() || ProjectRegionUpdates.Any()); }
public IEnumerable <DNRUplandRegion> GetProjectRegions() { return(ProjectRegions.Select(x => x.DNRUplandRegion)); }
public bool IsProjectRegionValid() { return(ProjectRegions.Any() || !string.IsNullOrWhiteSpace(NoRegionsExplanation)); }
public List <DNRUplandRegion> GetCanStewardProjectsRegions() { return(ProjectRegions.Select(x => x.DNRUplandRegion).ToList()); }
/// <summary> /// Dependent type names of this entity /// </summary> public void DeleteChildren(DatabaseEntities dbContext) { foreach (var x in GrantAllocationAwardLandownerCostShareLineItems.ToList()) { x.DeleteFull(dbContext); } foreach (var x in InteractionEventProjects.ToList()) { x.DeleteFull(dbContext); } foreach (var x in NotificationProjects.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PerformanceMeasureActuals.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PerformanceMeasureExpecteds.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectClassifications.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectCustomAttributes.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectDocuments.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectExemptReportingYears.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectExternalLinks.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectFundingSources.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectGrantAllocationExpenditures.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectGrantAllocationRequests.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectImages.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectInternalNotes.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectLocations.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectLocationStagings.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNotes.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectOrganizations.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectPeople.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectPriorityLandscapes.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectPrograms.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectRegions.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectTags.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectUpdateBatches.ToList()) { x.DeleteFull(dbContext); } foreach (var x in Treatments.ToList()) { x.DeleteFull(dbContext); } }
/// <summary> /// Active Dependent type names of this object /// </summary> public List <string> DependentObjectNames() { var dependentObjects = new List <string>(); if (GrantAllocationAwardLandownerCostShareLineItems.Any()) { dependentObjects.Add(typeof(GrantAllocationAwardLandownerCostShareLineItem).Name); } if (InteractionEventProjects.Any()) { dependentObjects.Add(typeof(InteractionEventProject).Name); } if (NotificationProjects.Any()) { dependentObjects.Add(typeof(NotificationProject).Name); } if (PerformanceMeasureActuals.Any()) { dependentObjects.Add(typeof(PerformanceMeasureActual).Name); } if (PerformanceMeasureExpecteds.Any()) { dependentObjects.Add(typeof(PerformanceMeasureExpected).Name); } if (ProjectClassifications.Any()) { dependentObjects.Add(typeof(ProjectClassification).Name); } if (ProjectCustomAttributes.Any()) { dependentObjects.Add(typeof(ProjectCustomAttribute).Name); } if (ProjectDocuments.Any()) { dependentObjects.Add(typeof(ProjectDocument).Name); } if (ProjectExemptReportingYears.Any()) { dependentObjects.Add(typeof(ProjectExemptReportingYear).Name); } if (ProjectExternalLinks.Any()) { dependentObjects.Add(typeof(ProjectExternalLink).Name); } if (ProjectFundingSources.Any()) { dependentObjects.Add(typeof(ProjectFundingSource).Name); } if (ProjectGrantAllocationExpenditures.Any()) { dependentObjects.Add(typeof(ProjectGrantAllocationExpenditure).Name); } if (ProjectGrantAllocationRequests.Any()) { dependentObjects.Add(typeof(ProjectGrantAllocationRequest).Name); } if (ProjectImages.Any()) { dependentObjects.Add(typeof(ProjectImage).Name); } if (ProjectInternalNotes.Any()) { dependentObjects.Add(typeof(ProjectInternalNote).Name); } if (ProjectLocations.Any()) { dependentObjects.Add(typeof(ProjectLocation).Name); } if (ProjectLocationStagings.Any()) { dependentObjects.Add(typeof(ProjectLocationStaging).Name); } if (ProjectNotes.Any()) { dependentObjects.Add(typeof(ProjectNote).Name); } if (ProjectOrganizations.Any()) { dependentObjects.Add(typeof(ProjectOrganization).Name); } if (ProjectPeople.Any()) { dependentObjects.Add(typeof(ProjectPerson).Name); } if (ProjectPriorityLandscapes.Any()) { dependentObjects.Add(typeof(ProjectPriorityLandscape).Name); } if (ProjectPrograms.Any()) { dependentObjects.Add(typeof(ProjectProgram).Name); } if (ProjectRegions.Any()) { dependentObjects.Add(typeof(ProjectRegion).Name); } if (ProjectTags.Any()) { dependentObjects.Add(typeof(ProjectTag).Name); } if (ProjectUpdateBatches.Any()) { dependentObjects.Add(typeof(ProjectUpdateBatch).Name); } if (Treatments.Any()) { dependentObjects.Add(typeof(Treatment).Name); } return(dependentObjects.Distinct().ToList()); }
/// <summary> /// Does this object have any dependent objects? (If it does have dependent objects, these would need to be deleted before this object could be deleted.) /// </summary> /// <returns></returns> public bool HasDependentObjects() { return(GrantAllocationAwardLandownerCostShareLineItems.Any() || InteractionEventProjects.Any() || NotificationProjects.Any() || PerformanceMeasureActuals.Any() || PerformanceMeasureExpecteds.Any() || ProjectClassifications.Any() || ProjectCustomAttributes.Any() || ProjectDocuments.Any() || ProjectExemptReportingYears.Any() || ProjectExternalLinks.Any() || ProjectFundingSources.Any() || ProjectGrantAllocationExpenditures.Any() || ProjectGrantAllocationRequests.Any() || ProjectImages.Any() || ProjectInternalNotes.Any() || ProjectLocations.Any() || ProjectLocationStagings.Any() || ProjectNotes.Any() || ProjectOrganizations.Any() || ProjectPeople.Any() || ProjectPriorityLandscapes.Any() || ProjectPrograms.Any() || ProjectRegions.Any() || ProjectTags.Any() || ProjectUpdateBatches.Any() || Treatments.Any()); }
public List <Project> GetAssociatedProjects(Person currentPerson) { return(ProjectRegions.Select(ptc => ptc.Project).ToList().GetActiveProjectsAndProposalsVisibleToUser(currentPerson)); }