/// <summary> /// Constructor for building a new simple object with the POCO class /// </summary> public vProjectDetail(vProjectDetail vProjectDetail) : this() { this.ProjectID = vProjectDetail.ProjectID; this.PrimaryKey = vProjectDetail.PrimaryKey; this.TenantID = vProjectDetail.TenantID; this.ProjectName = vProjectDetail.ProjectName; this.ProjectStageID = vProjectDetail.ProjectStageID; this.ProjectApprovalStatusID = vProjectDetail.ProjectApprovalStatusID; this.PrimaryContactOrganizationID = vProjectDetail.PrimaryContactOrganizationID; this.PrimaryContactOrganizationDisplayName = vProjectDetail.PrimaryContactOrganizationDisplayName; this.PrimaryContactPersonID = vProjectDetail.PrimaryContactPersonID; this.PrimaryContactPersonFullNameFirstLast = vProjectDetail.PrimaryContactPersonFullNameFirstLast; this.PrimaryContactPersonEmail = vProjectDetail.PrimaryContactPersonEmail; this.PerformanceMeasureActualCount = vProjectDetail.PerformanceMeasureActualCount; this.PerformanceMeasureExpectedCount = vProjectDetail.PerformanceMeasureExpectedCount; this.ProjectImageCount = vProjectDetail.ProjectImageCount; this.CanStewardProjectsOrganizationID = vProjectDetail.CanStewardProjectsOrganizationID; this.CanStewardProjectsOrganizationDisplayName = vProjectDetail.CanStewardProjectsOrganizationDisplayName; this.TaxonomyLeafID = vProjectDetail.TaxonomyLeafID; this.TaxonomyLeafDisplayName = vProjectDetail.TaxonomyLeafDisplayName; this.FinalStatusReportStatusDescription = vProjectDetail.FinalStatusReportStatusDescription; this.ProjectFundingSourceExpenditureCount = vProjectDetail.ProjectFundingSourceExpenditureCount; this.ProposingOrganizationID = vProjectDetail.ProposingOrganizationID; this.ProjectContactsWhoCanManageProjectConcatenated = vProjectDetail.ProjectContactsWhoCanManageProjectConcatenated; CallAfterConstructor(vProjectDetail); }
// Keep this function 100% aligned with IsMyProject(Project project) for consistency!!! public bool IsMyProject(vProjectDetail projectDetail) { bool thisOrgIsPrimaryContactOrganizationForProject = projectDetail.PrimaryContactOrganizationID == OrganizationID; bool thisOrgIsProjectStewardOrganizationForProject = projectDetail.CanStewardProjectsOrganizationID == OrganizationID; bool thisOrgIsProposingOrganization = projectDetail.ProposingOrganizationID == OrganizationID; bool projectIsInStageProposal = projectDetail.ProjectStageID == ProjectStage.Proposal.ProjectStageID; bool projectIsPendingProject = Project.IsPendingProject(projectDetail.ProjectStageID, projectDetail.ProjectApprovalStatusID); bool isProposingOrganizationAndThisIsAProposalOrPendingProject = thisOrgIsProposingOrganization && (projectIsInStageProposal || projectIsPendingProject); bool isMyProject = thisOrgIsPrimaryContactOrganizationForProject || thisOrgIsProjectStewardOrganizationForProject || isProposingOrganizationAndThisIsAProposalOrPendingProject; return(isMyProject); }
partial void CallAfterConstructor(vProjectDetail vProjectDetail);