/// <summary>
        /// Active Dependent type names of this object
        /// </summary>
        public List <string> DependentObjectNames()
        {
            var dependentObjects = new List <string>();

            if (GeospatialAreaPerformanceMeasureReportingPeriodTargets.Any())
            {
                dependentObjects.Add(typeof(GeospatialAreaPerformanceMeasureReportingPeriodTarget).Name);
            }

            if (PerformanceMeasureActuals.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActual).Name);
            }

            if (PerformanceMeasureActualUpdates.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActualUpdate).Name);
            }

            if (PerformanceMeasureReportingPeriodTargets.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureReportingPeriodTarget).Name);
            }
            return(dependentObjects.Distinct().ToList());
        }
Beispiel #2
0
        public List <PerformanceMeasureReportedValue> GetNonVirtualPerformanceMeasureReportedValues()
        {
            var performanceMeasureReportedValues = PerformanceMeasureActuals.Select(x => x.PerformanceMeasure)
                                                   .Distinct(new HavePrimaryKeyComparer <PerformanceMeasure>())
                                                   .SelectMany(x => x.GetReportedPerformanceMeasureValues(this)).ToList();

            return(performanceMeasureReportedValues.OrderByDescending(pma => pma.CalendarYear)
                   .ThenBy(pma => pma.PerformanceMeasureID).ToList());
        }
Beispiel #3
0
        /// <summary>
        /// Active Dependent type names of this object
        /// </summary>
        public List <string> DependentObjectNames()
        {
            var dependentObjects = new List <string>();

            if (ClassificationPerformanceMeasures.Any())
            {
                dependentObjects.Add(typeof(ClassificationPerformanceMeasure).Name);
            }

            if (PerformanceMeasureActuals.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActual).Name);
            }

            if (PerformanceMeasureActualSubcategoryOptions.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActualSubcategoryOption).Name);
            }

            if (PerformanceMeasureActualSubcategoryOptionUpdates.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActualSubcategoryOptionUpdate).Name);
            }

            if (PerformanceMeasureActualUpdates.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActualUpdate).Name);
            }

            if (PerformanceMeasureExpecteds.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureExpected).Name);
            }

            if (PerformanceMeasureExpectedSubcategoryOptions.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureExpectedSubcategoryOption).Name);
            }

            if (PerformanceMeasureNotes.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureNote).Name);
            }

            if (PerformanceMeasureSubcategories.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureSubcategory).Name);
            }

            if (ProjectTypePerformanceMeasures.Any())
            {
                dependentObjects.Add(typeof(ProjectTypePerformanceMeasure).Name);
            }
            return(dependentObjects.Distinct().ToList());
        }
Beispiel #4
0
        /// <summary>
        /// Dependent type names of this entity
        /// </summary>
        public void DeleteChildren(DatabaseEntities dbContext)
        {
            foreach (var x in ClassificationPerformanceMeasures.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActuals.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActualSubcategoryOptions.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActualSubcategoryOptionUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActualUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureExpecteds.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureExpectedSubcategoryOptions.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureNotes.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureSubcategories.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectTypePerformanceMeasures.ToList())
            {
                x.DeleteFull(dbContext);
            }
        }
        private HashSet <int> ValidateNoDuplicatePerformanceMeasureActualRow()
        {
            if (PerformanceMeasureActuals == null)
            {
                return(new HashSet <int>());
            }
            var duplicates = PerformanceMeasureActuals
                             .GroupBy(x => new { x.PerformanceMeasureID, x.CalendarYear })
                             .Select(x => x.ToList())
                             .ToList()
                             .Select(x => x)
                             .Where(x => x.Select(m => m.PerformanceMeasureActualSubcategoryOptions).ToList().Select(z => String.Join("_", z.Select(s => s.PerformanceMeasureSubcategoryOptionID).ToList())).ToList().HasDuplicates()).ToList();

            return(new HashSet <int>(duplicates.SelectMany(x => x).ToList().Select(x => x.PerformanceMeasureActualID.GetValueOrDefault())));
        }
        private HashSet <int> ValidateNoIncompletePerformanceMeasureActualRow()
        {
            if (PerformanceMeasureActuals == null)
            {
                return(new HashSet <int>());
            }
            var performanceMeasureIDs =
                PerformanceMeasureActuals.Select(x => x.PerformanceMeasureID.GetValueOrDefault()).Distinct();
            var performanceMeasuresIDsAndSubcategoryCounts =
                HttpRequestStorage.DatabaseEntities.PerformanceMeasures.Where(x =>
                                                                              performanceMeasureIDs.Contains(x.PerformanceMeasureID)).Select(x => new { x.PerformanceMeasureID, SubcategoryCount = x.PerformanceMeasureSubcategories.Count });

            var performanceMeasureActualsWithMissingSubcategoryOptions =
                PerformanceMeasureActuals.Where(
                    x => !x.ActualValue.HasValue || performanceMeasuresIDsAndSubcategoryCounts.Single(y => x.PerformanceMeasureID == y.PerformanceMeasureID).SubcategoryCount != x.PerformanceMeasureActualSubcategoryOptions.Count || x.PerformanceMeasureActualSubcategoryOptions.Any(y => y.PerformanceMeasureSubcategoryOptionID == null)).ToList();

            return(new HashSet <int>(performanceMeasureActualsWithMissingSubcategoryOptions.Select(x => x.PerformanceMeasureActualID.GetValueOrDefault())));
        }
        /// <summary>
        /// Dependent type names of this entity
        /// </summary>
        public void DeleteChildren(DatabaseEntities dbContext)
        {
            foreach (var x in GeospatialAreaPerformanceMeasureReportingPeriodTargets.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActuals.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActualUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureReportingPeriodTargets.ToList())
            {
                x.DeleteFull(dbContext);
            }
        }
Beispiel #8
0
 /// <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(ClassificationPerformanceMeasures.Any() || PerformanceMeasureActuals.Any() || PerformanceMeasureActualSubcategoryOptions.Any() || PerformanceMeasureActualSubcategoryOptionUpdates.Any() || PerformanceMeasureActualUpdates.Any() || PerformanceMeasureExpecteds.Any() || PerformanceMeasureExpectedSubcategoryOptions.Any() || PerformanceMeasureNotes.Any() || PerformanceMeasureSubcategories.Any() || ProjectTypePerformanceMeasures.Any());
 }
Beispiel #9
0
 public List <Project> GetAssociatedProjectsWithReportedValues(Person currentPerson)
 {
     return(PerformanceMeasureActuals.Select(ptc => ptc.Project).ToList().GetActiveProjectsAndProposalsVisibleToUser(currentPerson));
 }
Beispiel #10
0
        /// <summary>
        /// Dependent type names of this entity
        /// </summary>
        public void DeleteChildren(DatabaseEntities dbContext)
        {
            foreach (var x in ClassificationPerformanceMeasures.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in GeospatialAreaPerformanceMeasureFixedTargets.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in GeospatialAreaPerformanceMeasureNoTargets.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in GeospatialAreaPerformanceMeasureReportingPeriodTargets.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in MatchmakerOrganizationPerformanceMeasures.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActuals.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActualSubcategoryOptions.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActualSubcategoryOptionUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureActualUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureExpecteds.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureExpectedSubcategoryOptions.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureExpectedSubcategoryOptionUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureExpectedUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureFixedTargets.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureImages.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureNotes.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureReportingPeriodTargets.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PerformanceMeasureSubcategories.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in TaxonomyLeafPerformanceMeasures.ToList())
            {
                x.DeleteFull(dbContext);
            }
        }
Beispiel #11
0
        /// <summary>
        /// Active Dependent type names of this object
        /// </summary>
        public List <string> DependentObjectNames()
        {
            var dependentObjects = new List <string>();

            if (ClassificationPerformanceMeasures.Any())
            {
                dependentObjects.Add(typeof(ClassificationPerformanceMeasure).Name);
            }

            if (GeospatialAreaPerformanceMeasureFixedTargets.Any())
            {
                dependentObjects.Add(typeof(GeospatialAreaPerformanceMeasureFixedTarget).Name);
            }

            if (GeospatialAreaPerformanceMeasureNoTargets.Any())
            {
                dependentObjects.Add(typeof(GeospatialAreaPerformanceMeasureNoTarget).Name);
            }

            if (GeospatialAreaPerformanceMeasureReportingPeriodTargets.Any())
            {
                dependentObjects.Add(typeof(GeospatialAreaPerformanceMeasureReportingPeriodTarget).Name);
            }

            if (MatchmakerOrganizationPerformanceMeasures.Any())
            {
                dependentObjects.Add(typeof(MatchmakerOrganizationPerformanceMeasure).Name);
            }

            if (PerformanceMeasureActuals.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActual).Name);
            }

            if (PerformanceMeasureActualSubcategoryOptions.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActualSubcategoryOption).Name);
            }

            if (PerformanceMeasureActualSubcategoryOptionUpdates.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActualSubcategoryOptionUpdate).Name);
            }

            if (PerformanceMeasureActualUpdates.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureActualUpdate).Name);
            }

            if (PerformanceMeasureExpecteds.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureExpected).Name);
            }

            if (PerformanceMeasureExpectedSubcategoryOptions.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureExpectedSubcategoryOption).Name);
            }

            if (PerformanceMeasureExpectedSubcategoryOptionUpdates.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureExpectedSubcategoryOptionUpdate).Name);
            }

            if (PerformanceMeasureExpectedUpdates.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureExpectedUpdate).Name);
            }

            if (PerformanceMeasureFixedTargets.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureFixedTarget).Name);
            }

            if (PerformanceMeasureImages.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureImage).Name);
            }

            if (PerformanceMeasureNotes.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureNote).Name);
            }

            if (PerformanceMeasureReportingPeriodTargets.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureReportingPeriodTarget).Name);
            }

            if (PerformanceMeasureSubcategories.Any())
            {
                dependentObjects.Add(typeof(PerformanceMeasureSubcategory).Name);
            }

            if (TaxonomyLeafPerformanceMeasures.Any())
            {
                dependentObjects.Add(typeof(TaxonomyLeafPerformanceMeasure).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(GeospatialAreaPerformanceMeasureReportingPeriodTargets.Any() || PerformanceMeasureActuals.Any() || PerformanceMeasureActualUpdates.Any() || PerformanceMeasureReportingPeriodTargets.Any());
 }
        /// <summary>
        /// Active Dependent type names of this object
        /// </summary>
        public List <string> DependentObjectNames()
        {
            var dependentObjects = new List <string>();

            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 (ProjectAssessmentQuestions.Any())
            {
                dependentObjects.Add(typeof(ProjectAssessmentQuestion).Name);
            }

            if (ProjectAttachments.Any())
            {
                dependentObjects.Add(typeof(ProjectAttachment).Name);
            }

            if (ProjectClassifications.Any())
            {
                dependentObjects.Add(typeof(ProjectClassification).Name);
            }

            if (ProjectContacts.Any())
            {
                dependentObjects.Add(typeof(ProjectContact).Name);
            }

            if (ProjectCustomAttributes.Any())
            {
                dependentObjects.Add(typeof(ProjectCustomAttribute).Name);
            }

            if (ProjectEvaluations.Any())
            {
                dependentObjects.Add(typeof(ProjectEvaluation).Name);
            }

            if (ProjectExemptReportingYears.Any())
            {
                dependentObjects.Add(typeof(ProjectExemptReportingYear).Name);
            }

            if (ProjectExternalLinks.Any())
            {
                dependentObjects.Add(typeof(ProjectExternalLink).Name);
            }

            if (ProjectFundingSourceBudgets.Any())
            {
                dependentObjects.Add(typeof(ProjectFundingSourceBudget).Name);
            }

            if (ProjectFundingSourceExpenditures.Any())
            {
                dependentObjects.Add(typeof(ProjectFundingSourceExpenditure).Name);
            }

            if (ProjectGeospatialAreas.Any())
            {
                dependentObjects.Add(typeof(ProjectGeospatialArea).Name);
            }

            if (ProjectGeospatialAreaTypeNotes.Any())
            {
                dependentObjects.Add(typeof(ProjectGeospatialAreaTypeNote).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 (ProjectNoFundingSourceIdentifieds.Any())
            {
                dependentObjects.Add(typeof(ProjectNoFundingSourceIdentified).Name);
            }

            if (ProjectNotes.Any())
            {
                dependentObjects.Add(typeof(ProjectNote).Name);
            }

            if (ProjectOrganizations.Any())
            {
                dependentObjects.Add(typeof(ProjectOrganization).Name);
            }

            if (ProjectProjectStatuses.Any())
            {
                dependentObjects.Add(typeof(ProjectProjectStatus).Name);
            }

            if (ProjectRelevantCostTypes.Any())
            {
                dependentObjects.Add(typeof(ProjectRelevantCostType).Name);
            }

            if (ProjectTags.Any())
            {
                dependentObjects.Add(typeof(ProjectTag).Name);
            }

            if (ProjectUpdateBatches.Any())
            {
                dependentObjects.Add(typeof(ProjectUpdateBatch).Name);
            }

            if (SecondaryProjectTaxonomyLeafs.Any())
            {
                dependentObjects.Add(typeof(SecondaryProjectTaxonomyLeaf).Name);
            }

            if (TechnicalAssistanceRequests.Any())
            {
                dependentObjects.Add(typeof(TechnicalAssistanceRequest).Name);
            }
            return(dependentObjects.Distinct().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());
 }
 /// <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(NotificationProjects.Any() || PerformanceMeasureActuals.Any() || PerformanceMeasureExpecteds.Any() || ProjectAssessmentQuestions.Any() || ProjectAttachments.Any() || ProjectClassifications.Any() || ProjectContacts.Any() || ProjectCustomAttributes.Any() || ProjectEvaluations.Any() || ProjectExemptReportingYears.Any() || ProjectExternalLinks.Any() || ProjectFundingSourceBudgets.Any() || ProjectFundingSourceExpenditures.Any() || ProjectGeospatialAreas.Any() || ProjectGeospatialAreaTypeNotes.Any() || ProjectImages.Any() || ProjectInternalNotes.Any() || ProjectLocations.Any() || ProjectLocationStagings.Any() || ProjectNoFundingSourceIdentifieds.Any() || ProjectNotes.Any() || ProjectOrganizations.Any() || ProjectProjectStatuses.Any() || ProjectRelevantCostTypes.Any() || ProjectTags.Any() || ProjectUpdateBatches.Any() || SecondaryProjectTaxonomyLeafs.Any() || TechnicalAssistanceRequests.Any());
 }
        public void UpdateModel(List <Models.PerformanceMeasureActual> currentPerformanceMeasureActuals,
                                IList <Models.PerformanceMeasureActual> allPerformanceMeasureActuals,
                                IList <PerformanceMeasureActualSubcategoryOption> allPerformanceMeasureActualSubcategoryOptions,
                                Models.Project project)
        {
            var currentPerformanceMeasureActualSubcategoryOptions =
                currentPerformanceMeasureActuals.SelectMany(x => x.PerformanceMeasureActualSubcategoryOptions).ToList();
            var performanceMeasureActualsUpdated = new List <Models.PerformanceMeasureActual>();

            if (PerformanceMeasureActuals != null)
            {
                // Completely rebuild the list
                performanceMeasureActualsUpdated = PerformanceMeasureActuals.Select(x =>
                {
                    var performanceMeasureActual = new Models.PerformanceMeasureActual(x.PerformanceMeasureActualID.GetValueOrDefault(),
                                                                                       x.ProjectID.GetValueOrDefault(),
                                                                                       x.PerformanceMeasureID.GetValueOrDefault(),
                                                                                       x.CalendarYear.GetValueOrDefault(),
                                                                                       x.ActualValue.GetValueOrDefault());
                    if (x.PerformanceMeasureActualSubcategoryOptions != null)
                    {
                        performanceMeasureActual.PerformanceMeasureActualSubcategoryOptions =
                            x.PerformanceMeasureActualSubcategoryOptions.Where(pmavsou => ModelObjectHelpers.IsRealPrimaryKeyValue(pmavsou.PerformanceMeasureSubcategoryOptionID))
                            .Select(
                                y =>
                                new PerformanceMeasureActualSubcategoryOption(performanceMeasureActual.PerformanceMeasureActualID,
                                                                              y.PerformanceMeasureSubcategoryOptionID.GetValueOrDefault(),
                                                                              y.PerformanceMeasureID,
                                                                              y.PerformanceMeasureSubcategoryID))
                            .ToList();
                    }
                    return(performanceMeasureActual);
                }).ToList();
            }
            currentPerformanceMeasureActuals.Merge(performanceMeasureActualsUpdated,
                                                   allPerformanceMeasureActuals,
                                                   (x, y) => x.PerformanceMeasureActualID == y.PerformanceMeasureActualID,
                                                   (x, y) =>
            {
                x.CalendarYear = y.CalendarYear;
                x.ActualValue  = y.ActualValue;
            });

            currentPerformanceMeasureActualSubcategoryOptions.Merge(
                performanceMeasureActualsUpdated.SelectMany(x => x.PerformanceMeasureActualSubcategoryOptions).ToList(),
                allPerformanceMeasureActualSubcategoryOptions,
                (x, y) => x.PerformanceMeasureActualID == y.PerformanceMeasureActualID && x.PerformanceMeasureSubcategoryID == y.PerformanceMeasureSubcategoryID && x.PerformanceMeasureID == y.PerformanceMeasureID,
                (x, y) => x.PerformanceMeasureSubcategoryOptionID = y.PerformanceMeasureSubcategoryOptionID);

            var currentProjectExemptYears = project.GetPerformanceMeasuresExemptReportingYears();

            HttpRequestStorage.DatabaseEntities.ProjectExemptReportingYears.Load();
            var allProjectExemptYears       = HttpRequestStorage.DatabaseEntities.ProjectExemptReportingYears.Local;
            var projectExemptReportingYears = new List <ProjectExemptReportingYear>();

            if (ProjectExemptReportingYears != null)
            {
                // Completely rebuild the list
                projectExemptReportingYears =
                    ProjectExemptReportingYears.Where(x => x.IsExempt)
                    .Select(x => new ProjectExemptReportingYear(x.ProjectExemptReportingYearID, x.ProjectID, x.CalendarYear, ProjectExemptReportingType.PerformanceMeasures.ProjectExemptReportingTypeID))
                    .ToList();
            }
            currentProjectExemptYears.Merge(projectExemptReportingYears,
                                            allProjectExemptYears,
                                            (x, y) => x.ProjectID == y.ProjectID && x.CalendarYear == y.CalendarYear && x.ProjectExemptReportingTypeID == y.ProjectExemptReportingTypeID);
            project.PerformanceMeasureActualYearsExemptionExplanation = Explanation;
        }
        /// <summary>
        /// Dependent type names of this entity
        /// </summary>
        public void DeleteChildren(DatabaseEntities 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 ProjectAssessmentQuestions.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectAttachments.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectClassifications.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectContacts.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectCustomAttributes.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectEvaluations.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 ProjectFundingSourceBudgets.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectFundingSourceExpenditures.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectGeospatialAreas.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectGeospatialAreaTypeNotes.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 ProjectNoFundingSourceIdentifieds.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 ProjectProjectStatuses.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectRelevantCostTypes.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 SecondaryProjectTaxonomyLeafs.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in TechnicalAssistanceRequests.ToList())
            {
                x.DeleteFull(dbContext);
            }
        }
Beispiel #20
0
 /// <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(ClassificationPerformanceMeasures.Any() || GeospatialAreaPerformanceMeasureFixedTargets.Any() || GeospatialAreaPerformanceMeasureNoTargets.Any() || GeospatialAreaPerformanceMeasureReportingPeriodTargets.Any() || MatchmakerOrganizationPerformanceMeasures.Any() || PerformanceMeasureActuals.Any() || PerformanceMeasureActualSubcategoryOptions.Any() || PerformanceMeasureActualSubcategoryOptionUpdates.Any() || PerformanceMeasureActualUpdates.Any() || PerformanceMeasureExpecteds.Any() || PerformanceMeasureExpectedSubcategoryOptions.Any() || PerformanceMeasureExpectedSubcategoryOptionUpdates.Any() || PerformanceMeasureExpectedUpdates.Any() || PerformanceMeasureFixedTargets.Any() || PerformanceMeasureImages.Any() || PerformanceMeasureNotes.Any() || PerformanceMeasureReportingPeriodTargets.Any() || PerformanceMeasureSubcategories.Any() || TaxonomyLeafPerformanceMeasures.Any());
 }