Table of Contents

Class ProjectMembership

Namespace
Builvero.Domain.Entities
Assembly
Builvero.Domain.dll

Represents the membership relationship between a user and a project, including the user's role and membership status.

public class ProjectMembership
Inheritance
ProjectMembership
Inherited Members

Remarks

This entity establishes a many-to-many relationship between users and projects. Each membership has a role (Owner or Member) and a status (Active, Pending, or Rejected). Only one user can be the Owner of a project, and that relationship is established through the OwnerUserId property.

Properties

Id

Gets or sets the unique identifier for this membership record.

public Guid Id { get; set; }

Property Value

Guid
Represents the membership relationship between a user and a project, including the user's role and membership status.

Project

Gets or sets the project this membership belongs to.

public Project Project { get; set; }

Property Value

Project
Represents the membership relationship between a user and a project, including the user's role and membership status.

ProjectId

Gets or sets the unique identifier of the project this membership belongs to.

public Guid ProjectId { get; set; }

Property Value

Guid
Represents the membership relationship between a user and a project, including the user's role and membership status.

Role

Gets or sets the role of the user within the project.

public ProjectRole Role { get; set; }

Property Value

ProjectRole
Represents the membership relationship between a user and a project, including the user's role and membership status.

Remarks

The Owner role typically has full control over the project, while Member roles have standard participation rights.

Status

Gets or sets the current status of this membership.

public MembershipStatus Status { get; set; }

Property Value

MembershipStatus
Represents the membership relationship between a user and a project, including the user's role and membership status.

Remarks

Active memberships allow full participation. Pending memberships are awaiting approval. Rejected memberships indicate that the membership request was declined.

User

Gets or sets the user who is a member of the project.

public User User { get; set; }

Property Value

User
Represents the membership relationship between a user and a project, including the user's role and membership status.

UserId

Gets or sets the unique identifier of the user who is a member of the project.

public Guid UserId { get; set; }

Property Value

Guid
Represents the membership relationship between a user and a project, including the user's role and membership status.