Introduced interfaces for audit fields (AddedWhen, ChangedWhen, ChangedWho, AddedWho) and updated domain entities to implement them. Adjusted properties for consistency and nullability. Updated MappingProfile to map audit fields between DTOs and entities. Improves auditability and standardization across the domain model.
80 lines
1.8 KiB
C#
80 lines
1.8 KiB
C#
using System;
|
|
using DigitalData.UserManager.Domain.Entities;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using EnvelopeGenerator.Domain.Interfaces;
|
|
using EnvelopeGenerator.Domain.Constants;
|
|
using DigitalData.Core.Abstractions.Interfaces;
|
|
|
|
namespace EnvelopeGenerator.Domain.Entities
|
|
#if NET
|
|
;
|
|
#elif NETFRAMEWORK
|
|
{
|
|
#endif
|
|
|
|
[Table("TBSIG_ENVELOPE_HISTORY", Schema = "dbo")]
|
|
public class History : IHasEnvelope, IHasReceiver, IEntity, IHasAddedWhen, IHasChangedWhen
|
|
{
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
[Column("GUID")]
|
|
public long Id { get; set; }
|
|
|
|
[Required]
|
|
[Column("ENVELOPE_ID")]
|
|
public int EnvelopeId { get; set; }
|
|
|
|
[Required]
|
|
[Column("USER_REFERENCE", TypeName = "nvarchar(128)")]
|
|
public string UserReference { get; set; }
|
|
|
|
[Required]
|
|
[Column("STATUS")]
|
|
public EnvelopeStatus Status { get; set; }
|
|
|
|
[Required]
|
|
[Column("ADDED_WHEN", TypeName = "datetime")]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
|
public DateTime AddedWhen { get; set; }
|
|
|
|
[Column("ACTION_DATE", TypeName = "datetime")]
|
|
public DateTime? ChangedWhen { get; set; }
|
|
|
|
[Column("COMMENT", TypeName = "nvarchar(max)")]
|
|
public string
|
|
#if NET
|
|
?
|
|
#endif
|
|
Comment { get; set; }
|
|
|
|
[ForeignKey("EnvelopeId")]
|
|
public virtual Envelope
|
|
#if NET
|
|
?
|
|
#endif
|
|
Envelope { get; set; }
|
|
|
|
[ForeignKey("UserReference")]
|
|
public virtual User
|
|
#if NET
|
|
?
|
|
#endif
|
|
Sender { get; set; }
|
|
|
|
[ForeignKey("UserReference")]
|
|
public virtual Receiver
|
|
#if NET
|
|
?
|
|
#endif
|
|
Receiver { get; set; }
|
|
|
|
#if NETFRAMEWORK
|
|
[NotMapped]
|
|
public string StatusTranslated => My.Resources.Model.ResourceManager.GetString(Status.ToString());
|
|
#endif
|
|
}
|
|
|
|
#if NETFRAMEWORK
|
|
}
|
|
#endif |