Table of Contents

Class ProjectInvitationDto

Namespace
Builvero.Application.DTOs
Assembly
Builvero.Application.dll

Data transfer object representing a project invitation with inviter, invitee, project, and status information.

public class ProjectInvitationDto
Inheritance
ProjectInvitationDto
Inherited Members

Remarks

This DTO is used for displaying invitations in both incoming (for invitees) and outgoing (for inviters) contexts. Invitations include secure tokens for email-based acceptance/decline without requiring login. Invitations expire after 30 days. Only project owners and active members can send invitations.

Properties

CreatedAtUtc

Gets or sets the UTC timestamp when the invitation was created.

public DateTime CreatedAtUtc { get; set; }

Property Value

DateTime
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

ExpiresAtUtc

Gets or sets the UTC timestamp when the invitation expires (30 days after creation).

public DateTime? ExpiresAtUtc { get; set; }

Property Value

DateTime?
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

FromUserId

Gets or sets the unique identifier of the user who sent the invitation.

public Guid FromUserId { get; set; }

Property Value

Guid
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

FromUserName

Gets or sets the full name of the user who sent the invitation.

public string FromUserName { get; set; }

Property Value

string
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

Id

Gets or sets the unique identifier of the invitation.

public Guid Id { get; set; }

Property Value

Guid
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

Message

Gets or sets an optional message from the inviter included with the invitation.

public string? Message { get; set; }

Property Value

string
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

ProjectId

Gets or sets the unique identifier of the project the user is being invited to.

public Guid ProjectId { get; set; }

Property Value

Guid
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

ProjectName

Gets or sets the name of the project the user is being invited to.

public string ProjectName { get; set; }

Property Value

string
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

RespondedAtUtc

Gets or sets the UTC timestamp when the invitation was responded to (null if still pending).

public DateTime? RespondedAtUtc { get; set; }

Property Value

DateTime?
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

ResponseReason

Gets or sets an optional reason provided by the invitee when accepting or declining the invitation.

public string? ResponseReason { get; set; }

Property Value

string
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

Status

Gets or sets the current status of the invitation (e.g., "Pending", "Accepted", "Declined").

public string Status { get; set; }

Property Value

string
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

Remarks

This is the string representation of the ProjectInvitationStatus enum.

ToUserId

Gets or sets the unique identifier of the user being invited.

public Guid ToUserId { get; set; }

Property Value

Guid
Data transfer object representing a project invitation with inviter, invitee, project, and status information.

ToUserName

Gets or sets the full name of the user being invited.

public string ToUserName { get; set; }

Property Value

string
Data transfer object representing a project invitation with inviter, invitee, project, and status information.