From 26300d8653e24d40f208397b079b4379b599cfe0 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 1 Aug 2025 15:51:12 +0200 Subject: [PATCH] =?UTF-8?q?feat(TfFile):=20Entit=C3=A4t=20mit=20Metadaten?= =?UTF-8?q?=20und=20Schema-Zuordnung=20hinzuf=C3=BCgen=20-=20Enth=C3=A4lt?= =?UTF-8?q?=20detaillierte=20Schema-Zuordnung=20mit=20Validierungshinweise?= =?UTF-8?q?n=20f=C3=BCr=20nullf=C3=A4hige=20Felder.=20-=20Erm=C3=B6glicht?= =?UTF-8?q?=20die=20Verfolgung=20von=20Dateimetadaten=20innerhalb=20des=20?= =?UTF-8?q?Workflow-Systems.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WorkFlow.Domain/Entities/TfFile.cs | 60 ++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/WorkFlow.Domain/Entities/TfFile.cs diff --git a/src/WorkFlow.Domain/Entities/TfFile.cs b/src/WorkFlow.Domain/Entities/TfFile.cs new file mode 100644 index 0000000..422d4c9 --- /dev/null +++ b/src/WorkFlow.Domain/Entities/TfFile.cs @@ -0,0 +1,60 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace WorkFlow.Domain.Entities; + +[Table("TBMWF_TF_FILES")] +public class TfFile +{ + [Key] + [Column("GUID", TypeName = "bigint")] + public long Id { get; set; } + + [Required] + [Column("OBJ_STATE_ID", TypeName = "bigint")] + public long ObjStateId { get; set; } + + [Required] + [StringLength(512)] + [Column("F_FAPTH", TypeName = "nvarchar(512)")] + public string FFapth { get; set; } = null!; + + /// + /// Although this field is marked as nullable in the database schema to allow + /// for greater flexibility during database-level operations or migrations, it is + /// treated as required and not null within the application logic. + /// Validation should be enforced at the application level to ensure a value is provided. + /// + [Column("HEADLINE", TypeName = "nvarchar(100)")] + public string? Headline { get; set; } + + [StringLength(100)] + [Column("SUBLINE", TypeName = "nvarchar(100)")] + public string? Subline { get; set; } + + [StringLength(250)] + [Column("COMMENT", TypeName = "nvarchar(250)")] + public string? Comment { get; set; } + + [StringLength(100)] + [Column("ICON", TypeName = "nvarchar(100)")] + public string? Icon { get; set; } + + /// + /// Although this field is marked as nullable in the database schema to allow + /// for greater flexibility during database-level operations or migrations, it is + /// treated as required and not null within the application logic. + /// Validation should be enforced at the application level to ensure a value is provided. + /// + [Column("ADDED_WHO", TypeName = "nvarchar(100)")] + public string? AddedWho { get; set; } + + /// + /// Although this field is marked as nullable in the database schema to allow + /// for greater flexibility during database-level operations or migrations, it is + /// treated as required and not null within the application logic. + /// Validation should be enforced at the application level to ensure a value is provided. + /// + [Column("ADDED_WHEN", TypeName = "datetime")] + public DateTime? AddedWhen { get; set; } +}