Expanded EnvelopeDto with new properties for expiration dates, reminder scheduling, notification options, and an optional comment field. These changes provide finer control over envelope lifecycle and metadata.
177 lines
3.7 KiB
C#
177 lines
3.7 KiB
C#
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
|
using DigitalData.UserManager.Application.DTOs.User;
|
|
using EnvelopeGenerator.Domain.Constants;
|
|
using EnvelopeGenerator.Domain.Entities;
|
|
using EnvelopeGenerator.Domain.Interfaces;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace EnvelopeGenerator.Application.Common.Dto;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
[ApiExplorerSettings(IgnoreApi = true)]
|
|
public record EnvelopeDto : IEnvelope
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int UserId { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public required EnvelopeStatus Status { get; set; }
|
|
|
|
/// <summary>
|
|
/// Default value is string.Empty
|
|
/// </summary>
|
|
public string StatusName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Default value is string.Empty
|
|
/// </summary>
|
|
public string Uuid { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Default value is string.Empty
|
|
/// </summary>
|
|
[TemplatePlaceholder("[MESSAGE]")]
|
|
public string Message { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DateTime? ExpiresWhen { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DateTime? ExpiresWarningWhen { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DateTime AddedWhen { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DateTime? ChangedWhen { get; set; }
|
|
|
|
/// <summary>
|
|
/// Default value is string.Empty
|
|
/// </summary>
|
|
[TemplatePlaceholder("[DOCUMENT_TITLE]")]
|
|
public string Title { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Default value is string.Empty
|
|
/// </summary>
|
|
public string? Comment { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? ContractType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Default value is 'de-DE'
|
|
/// </summary>
|
|
public string Language { get; set; } = "de-DE";
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public bool SendReminderEmails { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? FirstReminderDays { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? ReminderIntervalDays { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? EnvelopeTypeId { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public bool ReadOnly => EnvelopeTypeId == 2;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? CertificationType { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public bool UseAccessCode { get; set; } = true;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? FinalEmailToCreator { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? FinalEmailToReceivers { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? ExpiresWhenDays { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int? ExpiresWarningWhenDays { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public bool TFAEnabled { get; init; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public UserReadDto? User { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public EnvelopeType? EnvelopeType { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string? EnvelopeTypeTitle { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public bool IsAlreadySent { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public byte[]? DocResult { get; init; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public IEnumerable<DocumentDto>? Documents { get; set; }
|
|
} |