diff --git a/EnvelopeGenerator.Domain/Entities/Envelope.cs b/EnvelopeGenerator.Domain/Entities/Envelope.cs index 8d1a9a11..80f31307 100644 --- a/EnvelopeGenerator.Domain/Entities/Envelope.cs +++ b/EnvelopeGenerator.Domain/Entities/Envelope.cs @@ -5,204 +5,201 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using EnvelopeGenerator.Domain.Constants; using Newtonsoft.Json; - #if NETFRAMEWORK using System.Collections.Generic; using System.Linq; #endif namespace EnvelopeGenerator.Domain.Entities -#if NET - ; -#elif NETFRAMEWORK { -#endif - -[Table("TBSIG_ENVELOPE", Schema = "dbo")] -public class Envelope : IHasAddedWhen, IHasChangedWhen -{ - public Envelope() + [Table("TBSIG_ENVELOPE", Schema = "dbo")] + public class Envelope : IHasAddedWhen, IHasChangedWhen { - // TODO: * Check the Form App and remove the default value + public Envelope() + { + // TODO: * Check the Form App and remove the default value #if NETFRAMEWORK - Id = 0; - Status = EnvelopeStatus.EnvelopeCreated; - Uuid = Guid.NewGuid().ToString(); - Message = My.Resources.Envelope.Please_read_and_sign_this_document; - Title= string.Empty; - Comment = string.Empty; - Language = "de-DE"; - SendReminderEmails = false; - FirstReminderDays = 0; - ReminderIntervalDays = 0; - CertificationType = (int)Constants.CertificationType.AdvancedElectronicSignature; - UseAccessCode = false; - Documents = Enumerable.Empty().ToList(); - Histories = Enumerable.Empty().ToList(); - EnvelopeReceivers = Enumerable.Empty().ToList(); + Id = 0; + Status = EnvelopeStatus.EnvelopeCreated; + Uuid = Guid.NewGuid().ToString(); + Message = My.Resources.Envelope.Please_read_and_sign_this_document; + Title = string.Empty; + Comment = string.Empty; + Language = "de-DE"; + SendReminderEmails = false; + FirstReminderDays = 0; + ReminderIntervalDays = 0; + CertificationType = (int)Constants.CertificationType.AdvancedElectronicSignature; + UseAccessCode = false; + Documents = Enumerable.Empty().ToList(); + Histories = Enumerable.Empty().ToList(); + EnvelopeReceivers = Enumerable.Empty().ToList(); #endif + } + + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + [Column("GUID")] + public int Id { get; set; } + + [Required] + [Column("USER_ID")] + public int UserId { get; set; } + + [Required] + [Column("STATUS")] + public EnvelopeStatus Status { get; set; } + + [Required] + [Column("ENVELOPE_UUID", TypeName = "nvarchar(36)")] + public string Uuid { get; set; } + + [Column("MESSAGE", TypeName = "nvarchar(max)")] + public string Message { get; set; } + + [Column("EXPIRES_WHEN", TypeName = "datetime")] + public DateTime? ExpiresWhen { get; set; } + + [Column("EXPIRES_WARNING_WHEN", TypeName = "datetime")] + public DateTime? ExpiresWarningWhen { get; set; } + + [Required] + [Column("ADDED_WHEN", TypeName = "datetime")] + public DateTime AddedWhen { get; set; } + + [Column("CHANGED_WHEN", TypeName = "datetime")] + public DateTime? ChangedWhen { get; set; } + + [Column("TITLE", TypeName = "nvarchar(128)")] + public string +#if nullable + ? +#endif + Title + { get; set; } + + [Column("COMMENT", TypeName = "nvarchar(128)")] + public string Comment { get; set; } + + [Column("CONTRACT_TYPE")] + public int? ContractType { get; set; } + +#if NETFRAMEWORK + [NotMapped] + public string ContractTypeTranslated => My.Resources.Model.ResourceManager.GetString(ContractType.ToString()); +#endif + + [Column("LANGUAGE", TypeName = "nvarchar(5)")] + public string Language { get; set; } + + [Column("SEND_REMINDER_EMAILS")] + public bool SendReminderEmails { get; set; } + + [Column("FIRST_REMINDER_DAYS")] + public int? FirstReminderDays { get; set; } + + [Column("REMINDER_INTERVAL_DAYS")] + public int? ReminderIntervalDays { get; set; } + + [Column("ENVELOPE_TYPE")] + public int? EnvelopeTypeId { get; set; } + + [JsonIgnore] + [NotMapped] + public bool ReadOnly => EnvelopeTypeId == 2; + + [Column("CERTIFICATION_TYPE")] + public int? CertificationType { get; set; } + + [Column("USE_ACCESS_CODE")] + public bool UseAccessCode { get; set; } + + [Column("FINAL_EMAIL_TO_CREATOR")] + public int? FinalEmailToCreator { get; set; } + + [Column("FINAL_EMAIL_TO_RECEIVERS")] + public int? FinalEmailToReceivers { get; set; } + + [Column("EXPIRES_WHEN_DAYS")] + public int? ExpiresWhenDays { get; set; } + + [Column("EXPIRES_WARNING_WHEN_DAYS")] + public int? ExpiresWarningWhenDays { get; set; } + + [ForeignKey("UserId")] + public User User { get; set; } + + [Column("TFA_ENABLED")] + public bool TfaEnabled { get; set; } +#if NETFRAMEWORK + = false; +#endif + + [NotMapped] + [Column("DOC_RESULT")] + public byte[] +#if nullable + ? +#endif + DocResult + { get; set; } + + [ForeignKey("EnvelopeTypeId")] + public virtual EnvelopeType +#if nullable + ? +#endif + Type + { get; set; } + +#if NETFRAMEWORK + [NotMapped] + public string CURRENT_WORK_APP { get; set; } = "signFLOW GUI"; + + [NotMapped] + public bool IsAlreadySent => Status > EnvelopeStatus.EnvelopeSaved; +#endif + + public List +#if nullable + ? +#endif + Documents + { get; set; } + + public List +#if nullable + ? +#endif + Histories + { get; set; } + + public List +#if nullable + ? +#endif + EnvelopeReceivers + { get; set; } + + //#if NETFRAMEWORK + /// + /// Validates whether the receiver and document data are complete. + /// + public List ValidateReceiverDocumentData() + { + var errors = new List(); + + if (!Documents?.Any() ?? true) + errors.Add(My.Resources.Envelope.Missing_Documents); + + if (!EnvelopeReceivers?.Any() ?? true) + errors.Add(My.Resources.Envelope.Missing_Receivers); + + if (EnvelopeReceivers?.Any(r => !r.HasEmailAndName) ?? false) + errors.Add(My.Resources.Envelope.Incomplete_Receivers); + + return errors; + } + //#endif } - - [Key] - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - [Column("GUID")] - public int Id { get; set; } - - [Required] - [Column("USER_ID")] - public int UserId { get; set; } - - [Required] - [Column("STATUS")] - public EnvelopeStatus Status { get; set; } - - [Required] - [Column("ENVELOPE_UUID", TypeName = "nvarchar(36)")] - public string Uuid { get; set; } - - [Column("MESSAGE", TypeName = "nvarchar(max)")] - public string Message { get; set; } - - [Column("EXPIRES_WHEN", TypeName = "datetime")] - public DateTime? ExpiresWhen { get; set; } - - [Column("EXPIRES_WARNING_WHEN", TypeName = "datetime")] - public DateTime? ExpiresWarningWhen { get; set; } - - [Required] - [Column("ADDED_WHEN", TypeName = "datetime")] - public DateTime AddedWhen { get; set; } - - [Column("CHANGED_WHEN", TypeName = "datetime")] - public DateTime? ChangedWhen { get; set; } - - [Column("TITLE", TypeName = "nvarchar(128)")] - public string -#if nullable - ? -#endif - Title { get; set; } - - [Column("COMMENT", TypeName = "nvarchar(128)")] - public string Comment { get; set; } - - [Column("CONTRACT_TYPE")] - public int? ContractType { get; set; } - -#if NETFRAMEWORK - [NotMapped] - public string ContractTypeTranslated => My.Resources.Model.ResourceManager.GetString(ContractType.ToString()); -#endif - - [Column("LANGUAGE", TypeName = "nvarchar(5)")] - public string Language { get; set; } - - [Column("SEND_REMINDER_EMAILS")] - public bool SendReminderEmails { get; set; } - - [Column("FIRST_REMINDER_DAYS")] - public int? FirstReminderDays { get; set; } - - [Column("REMINDER_INTERVAL_DAYS")] - public int? ReminderIntervalDays { get; set; } - - [Column("ENVELOPE_TYPE")] - public int? EnvelopeTypeId { get; set; } - - [JsonIgnore] - [NotMapped] - public bool ReadOnly => EnvelopeTypeId == 2; - - [Column("CERTIFICATION_TYPE")] - public int? CertificationType { get; set; } - - [Column("USE_ACCESS_CODE")] - public bool UseAccessCode { get; set; } - - [Column("FINAL_EMAIL_TO_CREATOR")] - public int? FinalEmailToCreator { get; set; } - - [Column("FINAL_EMAIL_TO_RECEIVERS")] - public int? FinalEmailToReceivers { get; set; } - - [Column("EXPIRES_WHEN_DAYS")] - public int? ExpiresWhenDays { get; set; } - - [Column("EXPIRES_WARNING_WHEN_DAYS")] - public int? ExpiresWarningWhenDays { get; set; } - - [ForeignKey("UserId")] - public User User { get; set; } - - [Column("TFA_ENABLED")] - public bool TfaEnabled { get; set; } -#if NETFRAMEWORK - = false; -#endif - - [NotMapped] - [Column("DOC_RESULT")] - public byte[] -#if nullable - ? -#endif - DocResult { get; set; } - - [ForeignKey("EnvelopeTypeId")] - public virtual EnvelopeType -#if nullable - ? -#endif - Type { get; set; } - -#if NETFRAMEWORK - [NotMapped] - public string CURRENT_WORK_APP { get; set; } = "signFLOW GUI"; - - [NotMapped] - public bool IsAlreadySent => Status > EnvelopeStatus.EnvelopeSaved; -#endif - - public List -#if nullable - ? -#endif - Documents { get; set; } - - public List -#if nullable - ? -#endif - Histories { get; set; } - - public List -#if nullable - ? -#endif - EnvelopeReceivers { get; set; } - -//#if NETFRAMEWORK - /// - /// Validates whether the receiver and document data are complete. - /// - public List ValidateReceiverDocumentData() - { - var errors = new List(); - - if (!Documents?.Any() ?? true) - errors.Add(My.Resources.Envelope.Missing_Documents); - - if (!EnvelopeReceivers?.Any() ?? true) - errors.Add(My.Resources.Envelope.Missing_Receivers); - - if (EnvelopeReceivers?.Any(r => !r.HasEmailAndName) ?? false) - errors.Add(My.Resources.Envelope.Incomplete_Receivers); - - return errors; - } -//#endif -} - -#if NETFRAMEWORK - } -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Entities/Receiver.cs b/EnvelopeGenerator.Domain/Entities/Receiver.cs index e1ecaacd..fc8f1e85 100644 --- a/EnvelopeGenerator.Domain/Entities/Receiver.cs +++ b/EnvelopeGenerator.Domain/Entities/Receiver.cs @@ -1,51 +1,42 @@ -using System; -using EnvelopeGenerator.Domain.Interfaces; +using EnvelopeGenerator.Domain.Interfaces; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using System.Drawing; #if NETFRAMEWORK +using System; using System.Collections.Generic; #endif namespace EnvelopeGenerator.Domain.Entities -#if NET - ; -#elif NETFRAMEWORK { -#endif + [Table("TBSIG_RECEIVER", Schema = "dbo")] + public class Receiver : IHasAddedWhen + { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + [Column("GUID")] + public int Id { get; set; } -[Table("TBSIG_RECEIVER", Schema = "dbo")] -public class Receiver : IHasAddedWhen -{ - [Key] - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - [Column("GUID")] - public int Id { get; set; } + [Required, EmailAddress] + [Column("EMAIL_ADDRESS", TypeName = "nvarchar(250)")] + [StringLength(250)] + public string EmailAddress { get; set; } - [Required, EmailAddress] - [Column("EMAIL_ADDRESS", TypeName = "nvarchar(250)")] - [StringLength(250)] - public string EmailAddress { get; set; } + [Required] + [Column("SIGNATURE", TypeName = "nvarchar(64)")] + public string Signature { get; set; } - [Required] - [Column("SIGNATURE", TypeName = "nvarchar(64)")] - public string Signature { get; set; } + [Required] + [Column("ADDED_WHEN", TypeName = "datetime")] + public DateTime AddedWhen { get; set; } - [Required] - [Column("ADDED_WHEN", TypeName = "datetime")] - public DateTime AddedWhen { get; set; } + [Column("TOTP_SECRET_KEY", TypeName = "nvarchar(MAX)")] + public string TotpSecretkey { get; set; } - [Column("TOTP_SECRET_KEY", TypeName = "nvarchar(MAX)")] - public string TotpSecretkey { get; set; } + [Column("TFA_REG_DEADLINE", TypeName = "datetime")] + public DateTime? TfaRegDeadline { get; set; } - [Column("TFA_REG_DEADLINE", TypeName = "datetime")] - public DateTime? TfaRegDeadline { get; set; } + public List EnvelopeReceivers { get; set; } - public List EnvelopeReceivers { get; set; } - - public string GetSignature() => EmailAddress.ToUpperInvariant().GetChecksum(); -} - -#if NETFRAMEWORK + public string GetSignature() => EmailAddress.ToUpperInvariant().GetChecksum(); } -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Entities/Signature.cs b/EnvelopeGenerator.Domain/Entities/Signature.cs index e3c77b18..e673c12a 100644 --- a/EnvelopeGenerator.Domain/Entities/Signature.cs +++ b/EnvelopeGenerator.Domain/Entities/Signature.cs @@ -8,127 +8,122 @@ using System.Collections.Generic; #endif namespace EnvelopeGenerator.Domain.Entities -#if NET - ; -#elif NETFRAMEWORK { -#endif - -[Table("TBSIG_DOCUMENT_RECEIVER_ELEMENT", Schema = "dbo")] -public class Signature : ISignature, IHasReceiver, IHasAddedWhen, IHasChangedWhen, IHasChangedWho -{ - public Signature() + [Table("TBSIG_DOCUMENT_RECEIVER_ELEMENT", Schema = "dbo")] + public class Signature : ISignature, IHasReceiver, IHasAddedWhen, IHasChangedWhen, IHasChangedWho { - // TODO: * Check the Form App and remove the default value + public Signature() + { + // TODO: * Check the Form App and remove the default value #if NETFRAMEWORK - Id = -1; - Required = false; - ReadOnly = false; - AnnotationIndex = 0; + Id = -1; + Required = false; + ReadOnly = false; + AnnotationIndex = 0; +#endif + } + + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + [Column("GUID")] + public int Id { get; set; } + + [Required] + [Column("DOCUMENT_ID")] + public int DocumentId { get; set; } + + [Required] + [Column("RECEIVER_ID")] + public int ReceiverId { get; set; } + + [Required] + [Column("ELEMENT_TYPE")] + [DefaultValue(0)] + public int ElementType { get; set; } + + [Required] + [Column("POSITION_X")] + [DefaultValue(0)] + public double X { get; set; } + + [Required] + [Column("POSITION_Y")] + [DefaultValue(0)] + public double Y { get; set; } + + [Required] + [Column("WIDTH")] + [DefaultValue(0)] + public double Width { get; set; } + + [Required] + [Column("HEIGHT")] + [DefaultValue(0)] + public double Height { get; set; } + + [Required] + [Column("PAGE")] + [DefaultValue(1)] + public int Page { get; set; } + + [Required] + [Column("REQUIRED")] + [DefaultValue(false)] + public bool Required { get; set; } + + [Column("TOOLTIP")] + public string Tooltip { get; set; } + + [Required] + [Column("READ_ONLY")] + [DefaultValue(false)] + public bool ReadOnly { get; set; } + + [Required] + [Column("ANNOTATION_INDEX")] + [DefaultValue(0)] + public int AnnotationIndex { get; set; } + + [Required] + [Column("ADDED_WHEN", TypeName = "datetime")] + [DefaultValue("GETDATE()")] + public DateTime AddedWhen { get; set; } + + [Column("CHANGED_WHEN", TypeName = "datetime")] + public DateTime? ChangedWhen { get; set; } + + [Column("CHANGED_WHO", TypeName = "nvarchar(100)")] + public string +#if nullable + ? +#endif + ChangedWho + { get; set; } + + [ForeignKey("DocumentId")] + public virtual Document Document { get; set; } + + [ForeignKey("ReceiverId")] + public virtual Receiver +#if nullable + ? +#endif + Receiver + { get; set; } + + public virtual IEnumerable +#if nullable + ? +#endif + Annotations + { get; set; } + +#if NETFRAMEWORK + [NotMapped] + public double Top => Math.Round(Y, 5); + + [NotMapped] + public double Left => Math.Round(X, 5); #endif } - - [Key] - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - [Column("GUID")] - public int Id { get; set; } - - [Required] - [Column("DOCUMENT_ID")] - public int DocumentId { get; set; } - - [Required] - [Column("RECEIVER_ID")] - public int ReceiverId { get; set; } - - [Required] - [Column("ELEMENT_TYPE")] - [DefaultValue(0)] - public int ElementType { get; set; } - - [Required] - [Column("POSITION_X")] - [DefaultValue(0)] - public double X { get; set; } - - [Required] - [Column("POSITION_Y")] - [DefaultValue(0)] - public double Y { get; set; } - - [Required] - [Column("WIDTH")] - [DefaultValue(0)] - public double Width { get; set; } - - [Required] - [Column("HEIGHT")] - [DefaultValue(0)] - public double Height { get; set; } - - [Required] - [Column("PAGE")] - [DefaultValue(1)] - public int Page { get; set; } - - [Required] - [Column("REQUIRED")] - [DefaultValue(false)] - public bool Required { get; set; } - - [Column("TOOLTIP")] - public string Tooltip { get; set; } - - [Required] - [Column("READ_ONLY")] - [DefaultValue(false)] - public bool ReadOnly { get; set; } - - [Required] - [Column("ANNOTATION_INDEX")] - [DefaultValue(0)] - public int AnnotationIndex { get; set; } - - [Required] - [Column("ADDED_WHEN", TypeName = "datetime")] - [DefaultValue("GETDATE()")] - public DateTime AddedWhen { get; set; } - - [Column("CHANGED_WHEN", TypeName = "datetime")] - public DateTime? ChangedWhen { get; set; } - - [Column("CHANGED_WHO", TypeName = "nvarchar(100)")] - public string -#if nullable - ? -#endif - ChangedWho { get; set; } - - [ForeignKey("DocumentId")] - public virtual Document Document { get; set; } - - [ForeignKey("ReceiverId")] - public virtual Receiver -#if nullable - ? -#endif - Receiver { get; set; } - - public virtual IEnumerable -#if nullable - ? -#endif - Annotations { get; set; } - -#if NETFRAMEWORK - [NotMapped] - public double Top => Math.Round(Y, 5); - - [NotMapped] - public double Left => Math.Round(X, 5); -#endif -} - -#if NETFRAMEWORK - } -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Interfaces/IHasAddedWho.cs b/EnvelopeGenerator.Domain/Interfaces/IHasAddedWho.cs index 23018845..0ec5566b 100644 --- a/EnvelopeGenerator.Domain/Interfaces/IHasAddedWho.cs +++ b/EnvelopeGenerator.Domain/Interfaces/IHasAddedWho.cs @@ -1,7 +1,3 @@ -#if NETFRAMEWORK -using System; -#endif - namespace EnvelopeGenerator.Domain.Interfaces { public interface IHasAddedWho