53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
using DigitalData.UserManager.Domain.Entities;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using static EnvelopeGenerator.Common.Constants;
|
|
|
|
namespace EnvelopeGenerator.Domain.Entities
|
|
{
|
|
[Table("TBSIG_ENVELOPE_HISTORY", Schema = "dbo")]
|
|
public class EnvelopeHistory
|
|
{
|
|
[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 int Status { get; set; }
|
|
|
|
[Required]
|
|
[Column("ADDED_WHEN", TypeName = "datetime")]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
|
public DateTime AddedWhen { get; set; }
|
|
|
|
[Column("ACTION_DATE", TypeName = "datetime")]
|
|
public DateTime? ActionDate { get; set; }
|
|
|
|
[Column("COMMENT", TypeName = "nvarchar(max)")]
|
|
public string? Comment { get; set; }
|
|
|
|
[ForeignKey("UserReference")]
|
|
public virtual User? Sender { get; set; }
|
|
|
|
[ForeignKey("UserReference")]
|
|
public virtual Receiver? Receiver { get; set; }
|
|
|
|
[NotMapped]
|
|
public ReferenceType ReferenceType => (Status / 3) switch
|
|
{
|
|
1 => ReferenceType.Sender,
|
|
2 or 3 => ReferenceType.Receiver,
|
|
_ => ReferenceType.Unknown,
|
|
};
|
|
}
|
|
} |