Added a nullable DateTime property, StatusChangedWhen, to the DocumentStatus entity. This property is required and mapped to the "STATUS_CHANGED_WHEN" column, enabling tracking of when the document status was last updated.
66 lines
1.8 KiB
C#
66 lines
1.8 KiB
C#
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using DigitalData.Core.Abstractions.Interfaces;
|
|
using EnvelopeGenerator.Domain.Interfaces;
|
|
using EnvelopeGenerator.Domain.Interfaces.Auditing;
|
|
|
|
namespace EnvelopeGenerator.Domain.Entities
|
|
{
|
|
[Table("TBSIG_DOCUMENT_STATUS", Schema = "dbo")]
|
|
public class DocumentStatus : IHasEnvelope, IHasReceiver, IEntity, IHasAddedWhen, IHasChangedWhen
|
|
{
|
|
public DocumentStatus()
|
|
{
|
|
// TODO: * check Form Application and remove default value
|
|
#if NETFRAMEWORK
|
|
Status = Constants.DocumentStatus.Created;
|
|
#endif
|
|
}
|
|
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
[Column("GUID")]
|
|
public int Id { get; set; }
|
|
|
|
[Required]
|
|
[Column("ENVELOPE_ID")]
|
|
public int EnvelopeId { get; set; }
|
|
|
|
[Required]
|
|
[Column("RECEIVER_ID")]
|
|
public int ReceiverId { get; set; }
|
|
|
|
[Required]
|
|
[Column("STATUS")]
|
|
public Constants.DocumentStatus Status { get; set; }
|
|
|
|
[Required]
|
|
[Column("STATUS_CHANGED_WHEN", TypeName = "datetime")]
|
|
public DateTime? StatusChangedWhen { get; set; }
|
|
|
|
[Required]
|
|
[Column("ADDED_WHEN", TypeName = "datetime")]
|
|
public DateTime AddedWhen { get; set; }
|
|
|
|
[Column("CHANGED_WHEN", TypeName = "datetime")]
|
|
public DateTime? ChangedWhen { get; set; }
|
|
|
|
[Column("VALUE", TypeName = "nvarchar(max)")]
|
|
public string Value { get; set; }
|
|
|
|
[ForeignKey("EnvelopeId")]
|
|
public virtual Envelope
|
|
#if nullable
|
|
?
|
|
#endif
|
|
Envelope { get; set; }
|
|
|
|
[ForeignKey("ReceiverId")]
|
|
public virtual Receiver
|
|
#if nullable
|
|
?
|
|
#endif
|
|
Receiver { get; set; }
|
|
}
|
|
} |