diff --git a/EnvelopeGenerator.Domain/Entities/Config.cs b/EnvelopeGenerator.Domain/Entities/Config.cs index 6c91262c..6621beb5 100644 --- a/EnvelopeGenerator.Domain/Entities/Config.cs +++ b/EnvelopeGenerator.Domain/Entities/Config.cs @@ -1,43 +1,41 @@ -using System.ComponentModel; +using DigitalData.Core.Abstractions; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_CONFIG", Schema = "dbo")] - public class Config + public class Config : IUnique { [Column("DOCUMENT_PATH", TypeName = "nvarchar(256)")] - public string DocumentPath { get; set; } + public string? DocumentPath { get; init; } [Column("SENDING_PROFILE", TypeName = "int")] [Required] - [DatabaseGenerated(DatabaseGeneratedOption.None)] // Assuming SENDING_PROFILE is manually entered or controlled by the application logic - [DefaultValue(0)] // This sets the default value for SENDING_PROFILE - public int SendingProfile { get; set; } + public required int SendingProfile { get; init; } [Column("SIGNATURE_HOST", TypeName = "nvarchar(128)")] - public string SignatureHost { get; set; } + public string? SignatureHost { get; init; } [Column("EXTERNAL_PROGRAM_NAME", TypeName = "nvarchar(30)")] - public string ExternalProgramName { get; set; } + public string? ExternalProgramName { get; init; } [Column("EXPORT_PATH", TypeName = "nvarchar(256)")] - public string ExportPath { get; set; } + public string? ExportPath { get; init; } [Column("DOCUMENT_PATH_DMZ", TypeName = "nvarchar(512)")] [Required] - [DefaultValue("")] // This sets the default value for DOCUMENT_PATH_DMZ - public string DocumentPathDmz { get; set; } + public string? DocumentPathDmz { get; init; } [Column("EXPORT_PATH_DMZ", TypeName = "nvarchar(512)")] [Required] - [DefaultValue("")] // This sets the default value for EXPORT_PATH_DMZ - public string ExportPathDmz { get; set; } + public required string ExportPathDmz { get; init; } [Column("DOCUMENT_PATH_MOVE_AFTSEND", TypeName = "nvarchar(512)")] [Required] - [DefaultValue("")] // This sets the default value for DOCUMENT_PATH_MOVE_AFTSEND - public string DocumentPathMoveAftsend { get; set; } + public required string DocumentPathMoveAftsend { get; init; } + + [Obsolete("Configuration does not have an ID; it represents a single table in the database.")] + public int Id => throw new InvalidOperationException("This configuration does not support an ID as it represents a single table in the database."); } } \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Entities/DocumentReceiverElement.cs b/EnvelopeGenerator.Domain/Entities/DocumentReceiverElement.cs index 381b268d..6d165028 100644 --- a/EnvelopeGenerator.Domain/Entities/DocumentReceiverElement.cs +++ b/EnvelopeGenerator.Domain/Entities/DocumentReceiverElement.cs @@ -1,11 +1,12 @@ -using System.ComponentModel; +using DigitalData.Core.Abstractions; +using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_DOCUMENT_RECEIVER_ELEMENT", Schema = "dbo")] - public class DocumentReceiverElement + public class DocumentReceiverElement : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] diff --git a/EnvelopeGenerator.Domain/Entities/DocumentStatus.cs b/EnvelopeGenerator.Domain/Entities/DocumentStatus.cs index 7ee87a27..dd243b76 100644 --- a/EnvelopeGenerator.Domain/Entities/DocumentStatus.cs +++ b/EnvelopeGenerator.Domain/Entities/DocumentStatus.cs @@ -1,10 +1,11 @@ -using System.ComponentModel.DataAnnotations; +using DigitalData.Core.Abstractions; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_DOCUMENT_STATUS", Schema = "dbo")] - public class DocumentStatus + public class DocumentStatus : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] @@ -27,7 +28,7 @@ namespace EnvelopeGenerator.Domain.Entities public DateTime? StatusChangedWhen { get; set; } [Column("VALUE", TypeName = "nvarchar(max)")] - public string Value { get; set; } + public string? Value { get; set; } [Required] [Column("ADDED_WHEN", TypeName = "datetime")] @@ -42,4 +43,4 @@ namespace EnvelopeGenerator.Domain.Entities [ForeignKey("ReceiverId")] public virtual Receiver? Receiver { get; set; } } -} +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Entities/EmailTemplate.cs b/EnvelopeGenerator.Domain/Entities/EmailTemplate.cs index c82f3d4e..aef2df9d 100644 --- a/EnvelopeGenerator.Domain/Entities/EmailTemplate.cs +++ b/EnvelopeGenerator.Domain/Entities/EmailTemplate.cs @@ -1,10 +1,11 @@ -using System.ComponentModel.DataAnnotations; +using DigitalData.Core.Abstractions; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_EMAIL_TEMPLATE", Schema = "dbo")] - public class EmailTemplate + public class EmailTemplate : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] @@ -12,12 +13,12 @@ namespace EnvelopeGenerator.Domain.Entities public int Id { get; set; } [Column("NAME", TypeName = "nvarchar(64)")] - public string Name { get; set; } + public string? Name { get; set; } [Column("BODY", TypeName = "nvarchar(max)")] - public string Body { get; set; } + public string? Body { get; set; } [Column("SUBJECT", TypeName = "nvarchar(512)")] - public string Subject { get; set; } + public string? Subject { get; set; } } } \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Entities/Envelope.cs b/EnvelopeGenerator.Domain/Entities/Envelope.cs index b1ab8438..62f8dfd2 100644 --- a/EnvelopeGenerator.Domain/Entities/Envelope.cs +++ b/EnvelopeGenerator.Domain/Entities/Envelope.cs @@ -1,12 +1,12 @@ -using EnvelopeGenerator.Common; -using EnvelopeGenerator.Common.My.Resources; +using DigitalData.Core.Abstractions; +using EnvelopeGenerator.Common; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_ENVELOPE", Schema = "dbo")] - public class Envelope + public class Envelope : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] @@ -26,11 +26,11 @@ namespace EnvelopeGenerator.Domain.Entities [Required] [Column("ENVELOPE_UUID", TypeName = "nvarchar(36)")] - public string Uuid { get; set; } + public required string Uuid { get; init; } [Required] [Column("MESSAGE", TypeName = "nvarchar(max)")] - public string Message { get; set; } + public string? Message { get; set; } [Column("EXPIRES_WHEN", TypeName = "datetime")] public DateTime? ExpiresWhen { get; set; } @@ -46,13 +46,13 @@ namespace EnvelopeGenerator.Domain.Entities public DateTime? ChangedWhen { get; set; } [Column("TITLE", TypeName = "nvarchar(128)")] - public string Title { get; set; } + public string? Title { get; set; } [Column("CONTRACT_TYPE")] public int? ContractType { get; set; } [Column("LANGUAGE", TypeName = "nvarchar(5)")] - public string Language { get; set; } + public required string Language { get; set; } [Column("SEND_REMINDER_EMAILS")] public bool? SendReminderEmails { get; set; } diff --git a/EnvelopeGenerator.Domain/Entities/EnvelopeCertificate.cs b/EnvelopeGenerator.Domain/Entities/EnvelopeCertificate.cs index c8bd8c6e..f6450954 100644 --- a/EnvelopeGenerator.Domain/Entities/EnvelopeCertificate.cs +++ b/EnvelopeGenerator.Domain/Entities/EnvelopeCertificate.cs @@ -1,10 +1,11 @@ -using System.ComponentModel.DataAnnotations; +using DigitalData.Core.Abstractions; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_ENVELOPE_CERTIFICATE", Schema = "dbo")] - public class EnvelopeCertificate + public class EnvelopeCertificate : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] @@ -17,11 +18,11 @@ namespace EnvelopeGenerator.Domain.Entities [Required] [Column("ENVELOPE_UUID", TypeName = "nvarchar(36)")] - public string EnvelopeUuid { get; set; } + public required string EnvelopeUuid { get; set; } [Required] [Column("ENVELOPE_SUBJECT", TypeName = "nvarchar(512)")] - public string EnvelopeSubject { get; set; } + public required string EnvelopeSubject { get; set; } [Required] [Column("CREATOR_ID")] @@ -29,11 +30,11 @@ namespace EnvelopeGenerator.Domain.Entities [Required] [Column("CREATOR_NAME", TypeName = "nvarchar(128)")] - public string CreatorName { get; set; } + public required string CreatorName { get; set; } [Required] [Column("CREATOR_EMAIL", TypeName = "nvarchar(128)")] - public string CreatorEmail { get; set; } + public required string CreatorEmail { get; set; } [Required] [Column("ENVELOPE_STATUS")] diff --git a/EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs b/EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs index b5e64977..f90ddce2 100644 --- a/EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs +++ b/EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs @@ -1,10 +1,11 @@ -using System.ComponentModel.DataAnnotations; +using DigitalData.Core.Abstractions; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_ENVELOPE_DOCUMENT", Schema = "dbo")] - public class EnvelopeDocument + public class EnvelopeDocument : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] @@ -17,18 +18,18 @@ namespace EnvelopeGenerator.Domain.Entities [Required] [Column("FILENAME", TypeName = "nvarchar(256)")] - public string Filename { get; set; } + public required string Filename { get; set; } [Required] [Column("FILEPATH", TypeName = "nvarchar(256)")] - public string Filepath { get; set; } + public required string Filepath { get; set; } [Required] [Column("ADDED_WHEN", TypeName = "datetime")] - public DateTime AddedWhen { get; set; } + public required DateTime AddedWhen { get; set; } [Column("FILENAME_ORIGINAL", TypeName = "nvarchar(256)")] - public string FilenameOriginal { get; set; } + public required string FilenameOriginal { get; set; } public IEnumerable? Elements { get; set; } } diff --git a/EnvelopeGenerator.Domain/Entities/EnvelopeHistory.cs b/EnvelopeGenerator.Domain/Entities/EnvelopeHistory.cs index d03922fd..ef9f33be 100644 --- a/EnvelopeGenerator.Domain/Entities/EnvelopeHistory.cs +++ b/EnvelopeGenerator.Domain/Entities/EnvelopeHistory.cs @@ -1,4 +1,5 @@ -using DigitalData.UserManager.Domain.Entities; +using DigitalData.Core.Abstractions; +using DigitalData.UserManager.Domain.Entities; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using static EnvelopeGenerator.Common.Constants; @@ -6,7 +7,7 @@ using static EnvelopeGenerator.Common.Constants; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_ENVELOPE_HISTORY", Schema = "dbo")] - public class EnvelopeHistory + public class EnvelopeHistory : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] diff --git a/EnvelopeGenerator.Domain/Entities/EnvelopeReceiverBase.cs b/EnvelopeGenerator.Domain/Entities/EnvelopeReceiverBase.cs index 7669389d..ef934a19 100644 --- a/EnvelopeGenerator.Domain/Entities/EnvelopeReceiverBase.cs +++ b/EnvelopeGenerator.Domain/Entities/EnvelopeReceiverBase.cs @@ -1,10 +1,11 @@ -using System.ComponentModel.DataAnnotations; +using DigitalData.Core.Abstractions; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_ENVELOPE_RECEIVER", Schema = "dbo")] - public class EnvelopeReceiverBase + public class EnvelopeReceiverBase : IUnique<(int Envelope, int Receiver)> { [Key] [Column("ENVELOPE_ID")] @@ -39,5 +40,7 @@ namespace EnvelopeGenerator.Domain.Entities [Column("CHANGED_WHEN", TypeName = "datetime")] public DateTime? ChangedWhen { get; set; } + + public (int Envelope, int Receiver) Id => (Envelope: EnvelopeId, Receiver: ReceiverId); } } \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Entities/EnvelopeType.cs b/EnvelopeGenerator.Domain/Entities/EnvelopeType.cs index c1684672..bd837e81 100644 --- a/EnvelopeGenerator.Domain/Entities/EnvelopeType.cs +++ b/EnvelopeGenerator.Domain/Entities/EnvelopeType.cs @@ -1,12 +1,11 @@ -using System; +using DigitalData.Core.Abstractions; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using EnvelopeGenerator.Domain.Entities; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_ENVELOPE_TYPE", Schema = "dbo")] - public class EnvelopeType + public class EnvelopeType : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] @@ -15,10 +14,10 @@ namespace EnvelopeGenerator.Domain.Entities [Required] [Column("TITLE", TypeName = "nvarchar(128)")] - public string Title { get; set; } + public required string Title { get; set; } [Column("LANGUAGE", TypeName = "nvarchar(5)")] - public string Language { get; set; } + public string? Language { get; set; } [Column("EXPIRES_DAYS")] public int? ExpiresDays { get; set; } diff --git a/EnvelopeGenerator.Domain/Entities/Receiver.cs b/EnvelopeGenerator.Domain/Entities/Receiver.cs index ce354483..ae39daf4 100644 --- a/EnvelopeGenerator.Domain/Entities/Receiver.cs +++ b/EnvelopeGenerator.Domain/Entities/Receiver.cs @@ -1,10 +1,11 @@ -using System.ComponentModel.DataAnnotations; +using DigitalData.Core.Abstractions; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_RECEIVER", Schema = "dbo")] - public class Receiver + public class Receiver : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] diff --git a/EnvelopeGenerator.Domain/Entities/UserReceiver.cs b/EnvelopeGenerator.Domain/Entities/UserReceiver.cs index 9b221297..c2fc7c0c 100644 --- a/EnvelopeGenerator.Domain/Entities/UserReceiver.cs +++ b/EnvelopeGenerator.Domain/Entities/UserReceiver.cs @@ -1,10 +1,11 @@ -using System.ComponentModel.DataAnnotations; +using DigitalData.Core.Abstractions; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_USER_RECEIVER", Schema = "dbo")] - public class UserReceiver + public class UserReceiver : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] @@ -21,16 +22,16 @@ namespace EnvelopeGenerator.Domain.Entities [Required] [Column("NAME", TypeName = "nvarchar(128)")] - public string Name { get; set; } + public required string Name { get; set; } [Column("COMPANY_NAME", TypeName = "nvarchar(128)")] - public string CompanyName { get; set; } + public string? CompanyName { get; set; } [Column("JOB_TITLE", TypeName = "nvarchar(128)")] - public string JobTitle { get; set; } + public string? JobTitle { get; set; } [Required] [Column("ADDED_WHEN", TypeName = "datetime")] - public DateTime AddedWhen { get; set; } + public required DateTime AddedWhen { get; init; } } } \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj b/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj index 40acf713..3480802f 100644 --- a/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj +++ b/EnvelopeGenerator.Domain/EnvelopeGenerator.Domain.csproj @@ -7,6 +7,7 @@ + diff --git a/EnvelopeGenerator.Infrastructure/EnvelopeGenerator.Infrastructure.csproj b/EnvelopeGenerator.Infrastructure/EnvelopeGenerator.Infrastructure.csproj index f81afd68..42b215a8 100644 --- a/EnvelopeGenerator.Infrastructure/EnvelopeGenerator.Infrastructure.csproj +++ b/EnvelopeGenerator.Infrastructure/EnvelopeGenerator.Infrastructure.csproj @@ -7,8 +7,8 @@ - - + + all diff --git a/EnvelopeGenerator.Infrastructure/Repositories/UserReceiverRepository.cs b/EnvelopeGenerator.Infrastructure/Repositories/UserReceiverRepository.cs index 2c5800ec..fbbb575d 100644 --- a/EnvelopeGenerator.Infrastructure/Repositories/UserReceiverRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Repositories/UserReceiverRepository.cs @@ -1,5 +1,4 @@ using DigitalData.Core.Infrastructure; -using DigitalData.UserManager.Infrastructure.Repositories; using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.Infrastructure.Contracts;