feat: Basis-DTOs, Service und Controller für automatische Metadatenverwaltung hinzugefügt

- Basis-DTOs für Lese-, Erstellungs- und Aktualisierungsvorgänge erstellt, um die Felder "hinzugefügt von", "hinzugefügt am", "geändert von" und "geändert am" automatisch über Middleware zu ergänzen.
- Diese Basiskomponenten in die Gruppenstruktur integriert.
This commit is contained in:
Developer 02
2024-08-14 18:49:59 +02:00
parent 4746d63aea
commit 36d763d5e5
16 changed files with 240 additions and 50 deletions

View File

@@ -0,0 +1,30 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DigitalData.UserManager.Domain.Entities
{
public class BaseEntity
{
[Column("GUID")]
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[StringLength(50)]
[DefaultValue("DEFAULT")]
[Column("ADDED_WHO")]
public string? AddedWho { get; set; }
[StringLength(50)]
[Column("CHANGED_WHO")]
public string? ChangedWho { get; set; }
[Column("ADDED_WHEN", TypeName = "datetime")]
[DefaultValue("GETDATE()")]
public DateTime AddedWhen { get; set; } = DateTime.Now;
[Column("CHANGED_WHEN", TypeName = "datetime")]
public DateTime? ChangedWhen { get; set; }
}
}

View File

@@ -5,13 +5,8 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DigitalData.UserManager.Domain.Entities
{
[Table("TBDD_GROUPS", Schema = "dbo")]
public class Group
public class Group : BaseEntity
{
[Column("GUID")]
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[StringLength(50)]
public string? Name { get; set; }
@@ -31,27 +26,9 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(200)]
public string? Comment { get; set; }
[StringLength(50)]
[DefaultValue("DEFAULT")]
[Column("ADDED_WHO")]
public string? AddedWho { get; set; }
[StringLength(50)]
[Column("CHANGED_WHO")]
public string? ChangedWho { get; set; }
[Required]
[Column("ECM_FK_ID")]
[DefaultValue(0)]
public int EcmFkId { get; set; }
#region IGNORED COLUMNS
//[Column(TypeName = "datetime")]
//[DefaultValue("GETDATE()")]
//public DateTime? AddedWhen { get; set; }
//[Column(TypeName = "datetime")]
//public DateTime? ChangedWhen { get; set; }
#endregion
}
}