- Added System.Text.Json.Serialization namespace and [JsonIgnore] attributes to Top and Left properties in Signature entity for .NET builds - Applied null-forgiving operator (!) and null-coalescing defaults for frame.X and frame.Y in BurnPdfCommandHandler - Improved runtime safety and prevented unintended JSON serialization of computed properties
139 lines
2.8 KiB
C#
139 lines
2.8 KiB
C#
using EnvelopeGenerator.Domain.Interfaces;
|
|
using System.ComponentModel;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Text.Json.Serialization;
|
|
#if NETFRAMEWORK
|
|
using System;
|
|
using System.Collections.Generic;
|
|
#endif
|
|
|
|
namespace EnvelopeGenerator.Domain.Entities
|
|
#if NET
|
|
;
|
|
#elif NETFRAMEWORK
|
|
{
|
|
#endif
|
|
|
|
[Table("TBSIG_DOCUMENT_RECEIVER_ELEMENT", Schema = "dbo")]
|
|
public class Signature : ISignature, IHasReceiver
|
|
{
|
|
public Signature()
|
|
{
|
|
// TODO: * Check the Form App and remove the default value
|
|
#if NETFRAMEWORK
|
|
Id = -1;
|
|
Required = false;
|
|
ReadOnly = false;
|
|
AnnotationIndex = 0;
|
|
#endif
|
|
}
|
|
|
|
[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 X { get; set; }
|
|
|
|
[Required]
|
|
[Column("POSITION_Y")]
|
|
[DefaultValue(0)]
|
|
public double Y { 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; }
|
|
|
|
[Column("CHANGED_WHO", TypeName = "nvarchar(100)")]
|
|
public string
|
|
#if NET
|
|
?
|
|
#endif
|
|
ChangedWho { get; set; }
|
|
|
|
[ForeignKey("DocumentId")]
|
|
public virtual Document Document { get; set; }
|
|
|
|
[ForeignKey("ReceiverId")]
|
|
public virtual Receiver
|
|
#if NET
|
|
?
|
|
#endif
|
|
Receiver { get; set; }
|
|
|
|
public virtual IEnumerable<ElementAnnotation>
|
|
#if NET
|
|
?
|
|
#endif
|
|
Annotations { get; set; }
|
|
|
|
#if NET
|
|
[JsonIgnore]
|
|
#endif
|
|
[NotMapped]
|
|
public double Top => Math.Round(Y, 5);
|
|
|
|
#if NET
|
|
[JsonIgnore]
|
|
#endif
|
|
[NotMapped]
|
|
public double Left => Math.Round(X, 5);
|
|
}
|
|
|
|
#if NETFRAMEWORK
|
|
}
|
|
#endif |