/// <summary> /// Enum types are equal by primary key /// </summary> public bool Equals(ProjectStage other) { if (other == null) { return(false); } return(other.ProjectStageID == ProjectStageID); }
/// <summary> /// Constructor for building a new object with MinimalConstructor required fields, using objects whenever possible /// </summary> public ProjectUpdate(ProjectUpdateBatch projectUpdateBatch, ProjectStage projectStage, string projectDescription, ProjectLocationSimpleType projectLocationSimpleType, bool locationIsPrivate) : this() { // Mark this as a new object by setting primary key with special value this.ProjectUpdateID = ModelObjectHelpers.MakeNextUnsavedPrimaryKeyValue(); this.ProjectUpdateBatchID = projectUpdateBatch.ProjectUpdateBatchID; this.ProjectUpdateBatch = projectUpdateBatch; this.ProjectStageID = projectStage.ProjectStageID; this.ProjectDescription = projectDescription; this.ProjectLocationSimpleTypeID = projectLocationSimpleType.ProjectLocationSimpleTypeID; this.LocationIsPrivate = locationIsPrivate; }
/// <summary> /// Constructor for building a new object with MinimalConstructor required fields, using objects whenever possible /// </summary> public Project(ProjectStage projectStage, string projectName, string projectDescription, bool isFeatured, ProjectLocationSimpleType projectLocationSimpleType, ProjectApprovalStatus projectApprovalStatus, DateTime lastUpdatedDate, ProjectCategory projectCategory, bool locationIsPrivate) : this() { // Mark this as a new object by setting primary key with special value this.ProjectID = ModelObjectHelpers.MakeNextUnsavedPrimaryKeyValue(); this.ProjectStageID = projectStage.ProjectStageID; this.ProjectName = projectName; this.ProjectDescription = projectDescription; this.IsFeatured = isFeatured; this.ProjectLocationSimpleTypeID = projectLocationSimpleType.ProjectLocationSimpleTypeID; this.ProjectApprovalStatusID = projectApprovalStatus.ProjectApprovalStatusID; this.LastUpdatedDate = lastUpdatedDate; this.ProjectCategoryID = projectCategory.ProjectCategoryID; this.LocationIsPrivate = locationIsPrivate; }
public bool IsContactCurrentlyRequiredAtGivenProjectStage(ProjectStage currentProjectStage) { bool hasMinimumProjectStageSet = this.IsContactRelationshipRequiredMinimumProjectStage != null; if (this.IsContactRelationshipTypeRequired == false) { // Never required return(false); } if (this.IsContactRelationshipTypeRequired && !hasMinimumProjectStageSet) { // It's required, with no minimum stage set return(true); } if (this.IsContactRelationshipTypeRequired && hasMinimumProjectStageSet) { bool isCurrentlyRequired = currentProjectStage.SortOrder >= this.IsContactRelationshipRequiredMinimumProjectStage.SortOrder; return(isCurrentlyRequired); } throw new Exception("Unhandled branch; not expected!"); }
/// <summary> /// Creates a "blank" object of this type and populates primitives with defaults /// </summary> public static Project CreateNewBlank(TaxonomyLeaf taxonomyLeaf, ProjectStage projectStage, ProjectLocationSimpleType projectLocationSimpleType, ProjectApprovalStatus projectApprovalStatus, ProjectCategory projectCategory) { return(new Project(taxonomyLeaf, projectStage, default(string), default(string), default(bool), projectLocationSimpleType, projectApprovalStatus, default(DateTime), projectCategory, default(bool))); }
/// <summary> /// Creates a "blank" object of this type and populates primitives with defaults /// </summary> public static ProjectUpdate CreateNewBlank(ProjectUpdateBatch projectUpdateBatch, ProjectStage projectStage, ProjectLocationSimpleType projectLocationSimpleType) { return(new ProjectUpdate(projectUpdateBatch, projectStage, default(string), projectLocationSimpleType, default(bool))); }