using EnvelopeGenerator.Application.Common.Dto; using EnvelopeGenerator.Application.Common.Dto.Receiver; using Microsoft.AspNetCore.Mvc; namespace EnvelopeGenerator.Application.Common.Dto.EnvelopeReceiverReadOnly; /// /// Represents a read-only Data Transfer Object (DTO) for an envelope receiver. /// Contains information about the receiver, associated envelope, and audit details. /// [ApiExplorerSettings(IgnoreApi = true)] public class EnvelopeReceiverReadOnlyDto { /// /// Gets or inits the unique identifier of the envelope receiver. /// public long Id { get; init; } /// /// Gets or inits the identifier of the associated envelope. /// public long EnvelopeId { get; init; } /// /// Gets or inits the email address of the receiver. /// public required string ReceiverMail { get; set; } /// /// Gets or inits the date until which the receiver is valid. /// public DateTime DateValid { get; set; } /// /// Gets or inits the date and time when the receiver was added. /// public DateTime AddedWhen { get; init; } /// /// Gets or inits the user who added the receiver. /// Default value is 'unknown'. /// public string AddedWho { get; init; } = "Unknown"; /// /// Gets or inits the associated envelope details. /// public EnvelopeDto? Envelope { get; set; } /// /// Gets or inits the user who last changed the receiver, if any. /// public string? ChangedWho { get; set; } /// /// Gets or inits the date and time when the receiver was last changed, if any. /// public DateTime? ChangedWhen { get; set; } /// /// Gets or inits the associated receiver details. /// public ReceiverDto? Receiver { get; set; } }