public ProjectMapPopupViewData(FirmaSession currentFirmaSession, ProjectFirmaModels.Models.Project project, bool showDetailedInformation)
        {
            //Project = project;
            DisplayName        = project.GetDisplayName();
            ProjectUrl         = project.GetDetailUrl();
            KeyPhoto           = project.GetKeyPhoto();
            Duration           = project.GetDuration();
            ProjectStage       = project.ProjectStage;
            TaxonomyLeaf       = project.TaxonomyLeaf;
            EstimatedTotalCost = project.GetEstimatedTotalRegardlessOfFundingType().HasValue ? project.GetEstimatedTotalRegardlessOfFundingType().ToStringCurrency() : "Unknown";

            var dict = new Dictionary <ProjectFirmaModels.Models.ClassificationSystem, string>();

            project.ProjectClassifications.Select(x => x.Classification.ClassificationSystem).Distinct(new HavePrimaryKeyComparer <ProjectFirmaModels.Models.ClassificationSystem>()).ToList().ForEach(x => dict.Add(x, string.Join(", ", project.ProjectClassifications.Select(y => y.Classification).Where(y => y.ClassificationSystem == x).Select(y => y.GetDisplayName()).ToList())));
            ClassificationsBySystem = dict;

            OfferFactSheetLink   = OfferProjectFactSheetLinkFeature.OfferProjectFactSheetLink(currentFirmaSession, project);
            FactSheetUrl         = project.GetFactSheetUrl();
            DetailLinkDescriptor = project.IsProposal() ? $"This {FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabel()} is a proposal. For description and expected results, see the" : $"For {FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabel()} expenditures & results, see the";
            InitializeDisplayNames();
            TaxonomyLevel = MultiTenantHelpers.GetTaxonomyLevel();

            ShowDetailedInformation = showDetailedInformation;
        }