public OrganizationAccomplishmentsViewData(List <PerformanceMeasureChartViewData> performanceMeasureChartViewDatas, TaxonomyTier taxonomyTier, TaxonomyLevel associatePerformanceMeasureTaxonomyLevel) { PerformanceMeasureChartViewDatas = performanceMeasureChartViewDatas; TaxonomyTier = taxonomyTier; TaxonomyTierDisplayName = associatePerformanceMeasureTaxonomyLevel.GetFieldDefinition().GetFieldDefinitionLabel(); var fieldDefinitionForPerformanceMeasure = FieldDefinitionEnum.PerformanceMeasure; PerformanceMeasureDisplayName = fieldDefinitionForPerformanceMeasure.ToType().GetFieldDefinitionLabel(); PerformanceMeasureDisplayNamePluralized = fieldDefinitionForPerformanceMeasure.ToType().GetFieldDefinitionLabelPluralized(); OrganizationDisplayName = FieldDefinitionEnum.Organization.ToType().GetFieldDefinitionLabel(); }
public PartialViewResult OrganizationAccomplishments(int organizationID, int taxonomyTierID) { List <Project> projects; if (ModelObjectHelpers.IsRealPrimaryKeyValue(organizationID) && MultiTenantHelpers.DisplayAccomplishmentDashboard()) { var organization = HttpRequestStorage.DatabaseEntities.Organizations.GetOrganization(organizationID); projects = organization.GetAllActiveProjectsAndProposals(CurrentFirmaSession); } else { projects = HttpRequestStorage.DatabaseEntities.Projects.ToList().GetActiveProjectsAndProposals(MultiTenantHelpers.ShowProposalsToThePublic(), CurrentFirmaSession).ToList(); } var associatePerformanceMeasureTaxonomyLevel = MultiTenantHelpers.GetAssociatePerformanceMeasureTaxonomyLevel(); TaxonomyTier taxonomyTier; if (associatePerformanceMeasureTaxonomyLevel == TaxonomyLevel.Trunk) { taxonomyTier = new TaxonomyTier(HttpRequestStorage.DatabaseEntities.TaxonomyTrunks.GetTaxonomyTrunk(taxonomyTierID)); } else if (associatePerformanceMeasureTaxonomyLevel == TaxonomyLevel.Branch) { taxonomyTier = new TaxonomyTier(HttpRequestStorage.DatabaseEntities.TaxonomyBranches.GetTaxonomyBranch(taxonomyTierID)); } else { taxonomyTier = new TaxonomyTier(HttpRequestStorage.DatabaseEntities.TaxonomyLeafs.GetTaxonomyLeaf(taxonomyTierID)); } var projectIDs = projects.Select(x => x.ProjectID).Distinct().ToList(); var primaryPerformanceMeasuresForTaxonomyTier = taxonomyTier.TaxonomyTierPerformanceMeasures.Select(x => x.Key).ToList(); var performanceMeasures = primaryPerformanceMeasuresForTaxonomyTier.SelectMany(x => x.PerformanceMeasureActuals.Where(y => projectIDs.Contains(y.ProjectID))).Select(x => x.PerformanceMeasure).Distinct(new HavePrimaryKeyComparer <PerformanceMeasure>()).OrderBy(x => x.PerformanceMeasureDisplayName).ToList(); var performanceMeasureChartViewDatas = performanceMeasures.Select(x => new PerformanceMeasureChartViewData(x, CurrentFirmaSession, false, projects)).ToList(); var viewData = new OrganizationAccomplishmentsViewData(performanceMeasureChartViewDatas, taxonomyTier, associatePerformanceMeasureTaxonomyLevel); return(RazorPartialView <OrganizationAccomplishments, OrganizationAccomplishmentsViewData>(viewData)); }