From 6f19c5d12a0b58f97b65899bb6cb8332e7128411 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 18 Jul 2025 10:44:13 +0200 Subject: [PATCH] refactor(Entity): move shared audit and identity fields to base Entity class --- src/DigitalData.DEX.Domain/Entities/Entity.cs | 25 ++++++++++++++++++- src/DigitalData.DEX.Domain/Entities/Output.cs | 21 ---------------- .../Entities/OutputReferences.cs | 24 +----------------- 3 files changed, 25 insertions(+), 45 deletions(-) diff --git a/src/DigitalData.DEX.Domain/Entities/Entity.cs b/src/DigitalData.DEX.Domain/Entities/Entity.cs index 262c836..878faaa 100644 --- a/src/DigitalData.DEX.Domain/Entities/Entity.cs +++ b/src/DigitalData.DEX.Domain/Entities/Entity.cs @@ -1,5 +1,28 @@ -namespace DigitalData.DEX.Domain.Entities; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace DigitalData.DEX.Domain.Entities; public abstract class Entity { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + [Column("GUID", TypeName = "bigint")] + public virtual long Guid { get; set; } + + [Required] + [Column("ADDED_WHO", TypeName = "nvarchar(50)")] + [MaxLength(50)] + public virtual string AddedWho { get; set; } = null!; + + [Required] + [Column("ADDED_WHEN", TypeName = "datetime")] + public virtual DateTime AddedWhen { get; set; } + + [Column("CHANGED_WHO", TypeName = "nvarchar(50)")] + [MaxLength(50)] + public virtual string? ChangedWho { get; set; } + + [Column("CHANGED_WHEN", TypeName = "datetime")] + public virtual DateTime? ChangedWhen { get; set; } } diff --git a/src/DigitalData.DEX.Domain/Entities/Output.cs b/src/DigitalData.DEX.Domain/Entities/Output.cs index 189255d..eb333a0 100644 --- a/src/DigitalData.DEX.Domain/Entities/Output.cs +++ b/src/DigitalData.DEX.Domain/Entities/Output.cs @@ -6,11 +6,6 @@ namespace DigitalData.DEX.Domain.Entities; [Table("TBDEX_OUTPUT", Schema = "dbo")] public class Output : Entity { - [Key] - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - [Column("GUID", TypeName = "bigint")] - public long Guid { get; set; } - [Required] [Column("PROFILE_ID", TypeName = "smallint")] public short ProfileId { get; set; } @@ -46,20 +41,4 @@ public class Output : Entity [Column("COMMENT", TypeName = "nvarchar(max)")] public string? Comment { get; set; } - - [Required] - [Column("ADDED_WHO", TypeName = "nvarchar(50)")] - [MaxLength(50)] - public string AddedWho { get; set; } = null!; - - [Required] - [Column("ADDED_WHEN", TypeName = "datetime")] - public DateTime AddedWhen { get; set; } - - [Column("CHANGED_WHO", TypeName = "nvarchar(50)")] - [MaxLength(50)] - public string? ChangedWho { get; set; } - - [Column("CHANGED_WHEN", TypeName = "datetime")] - public DateTime? ChangedWhen { get; set; } } diff --git a/src/DigitalData.DEX.Domain/Entities/OutputReferences.cs b/src/DigitalData.DEX.Domain/Entities/OutputReferences.cs index cdb38f6..6ec6313 100644 --- a/src/DigitalData.DEX.Domain/Entities/OutputReferences.cs +++ b/src/DigitalData.DEX.Domain/Entities/OutputReferences.cs @@ -1,5 +1,4 @@ -using System; -using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace DigitalData.DEX.Domain.Entities; @@ -7,11 +6,6 @@ namespace DigitalData.DEX.Domain.Entities; [Table("TBDEX_OUTPUT_REFERENCES", Schema = "dbo")] public class OutputReferences : Entity { - [Key] - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - [Column("GUID", TypeName = "bigint")] - public long Guid { get; set; } - [Column("OUTPUT_ID", TypeName = "bigint")] public long OutputId { get; set; } @@ -59,20 +53,4 @@ public class OutputReferences : Entity [MaxLength(50)] [Column("EXPORT_NUMBER", TypeName = "nvarchar(50)")] public string? ExportNumber { get; set; } - - [Required] - [MaxLength(50)] - [Column("ADDED_WHO", TypeName = "nvarchar(50)")] - public string AddedWho { get; set; } = null!; - - [Required] - [Column("ADDED_WHEN", TypeName = "datetime")] - public DateTime AddedWhen { get; set; } - - [MaxLength(50)] - [Column("CHANGED_WHO", TypeName = "nvarchar(50)")] - public string? ChangedWho { get; set; } - - [Column("CHANGED_WHEN", TypeName = "datetime")] - public DateTime? ChangedWhen { get; set; } }