using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EnvelopeGenerator.Domain.Entities { [Table("TBSIG_DOCUMENT_RECEIVER_ELEMENT", Schema = "dbo")] public class DocumentReceiverElement { [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 PositionX { get; set; } [Required] [Column("POSITION_Y")] [DefaultValue(0)] public double PositionY { 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; } [ForeignKey("DocumentId")] public virtual EnvelopeDocument? Document { get; set; } [ForeignKey("ReceiverId")] public virtual Receiver? Receiver { get; set; } [NotMapped] public double Top => Math.Round(PositionY, 5); [NotMapped] public double Left => Math.Round(PositionX, 5); } }