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.
93 lines
1.8 KiB
C#
93 lines
1.8 KiB
C#
using System;
|
|
using EnvelopeGenerator.Domain.Interfaces;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
#if NETFRAMEWORK
|
|
using System.Drawing;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
#endif
|
|
|
|
namespace EnvelopeGenerator.Domain.Entities
|
|
#if NET
|
|
;
|
|
#elif NETFRAMEWORK
|
|
{
|
|
#endif
|
|
|
|
[Table("TBSIG_ENVELOPE_DOCUMENT", Schema = "dbo")]
|
|
public class Document : IHasEnvelope, IHasAddedWhen
|
|
{
|
|
public Document()
|
|
{
|
|
#if NETFRAMEWORK
|
|
Elements = Enumerable.Empty<Signature>().ToList();
|
|
#endif
|
|
}
|
|
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
[Column("GUID")]
|
|
public int Id { get; set; }
|
|
|
|
[Required]
|
|
[Column("ENVELOPE_ID")]
|
|
public int EnvelopeId { get; set; }
|
|
#if NETFRAMEWORK
|
|
= 0;
|
|
#endif
|
|
|
|
[Required]
|
|
[Column("ADDED_WHEN", TypeName = "datetime")]
|
|
public DateTime AddedWhen { get; set; }
|
|
|
|
[Column("BYTE_DATA", TypeName = "varbinary(max)")]
|
|
public byte[]
|
|
#if nullable
|
|
?
|
|
#endif
|
|
ByteData { get; set; }
|
|
|
|
#region File
|
|
[Column("FILENAME", TypeName = "nvarchar(256)")]
|
|
public string Filename { get; set; }
|
|
|
|
[Column("FILEPATH", TypeName = "nvarchar(256)")]
|
|
public string Filepath { get; set; }
|
|
|
|
[Column("FILENAME_ORIGINAL", TypeName = "nvarchar(256)")]
|
|
public string
|
|
#if nullable
|
|
?
|
|
#endif
|
|
FileNameOriginal { get; set; }
|
|
#endregion
|
|
|
|
public virtual List<Signature>
|
|
#if nullable
|
|
?
|
|
#endif
|
|
Elements { get; set; }
|
|
|
|
[ForeignKey("EnvelopeId")]
|
|
public virtual Envelope
|
|
#if nullable
|
|
?
|
|
#endif
|
|
Envelope { get; set; }
|
|
|
|
#if NETFRAMEWORK
|
|
[NotMapped]
|
|
public bool IsTempFile { get; set; }
|
|
|
|
[NotMapped]
|
|
public Bitmap Thumbnail { get; set; }
|
|
|
|
[NotMapped]
|
|
public int PageCount { get; set; }
|
|
#endif
|
|
}
|
|
|
|
#if NETFRAMEWORK
|
|
}
|
|
#endif |