From 9d07b1e71c8eb4f09814bcb139e41e96ebc7420c Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 1 Aug 2025 15:08:30 +0200 Subject: [PATCH] =?UTF-8?q?refactor:=20Beziehung=20zwischen=20=E2=80=9EObj?= =?UTF-8?q?ect=E2=80=9C=20und=20=E2=80=9EHistory=E2=80=9C=20hinzuf=C3=BCge?= =?UTF-8?q?n.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WorkFlow.Application/Dto/ObjectDto.cs | 2 ++ src/WorkFlow.Domain/Entities/PObject.cs | 3 +-- src/WorkFlow.Domain/Entities/PObjectStateHist.cs | 2 -- .../Repositories/PObjectRepository.cs | 1 + src/WorkFlow.Infrastructure/WFDBContext.cs | 5 +++++ 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/WorkFlow.Application/Dto/ObjectDto.cs b/src/WorkFlow.Application/Dto/ObjectDto.cs index 198b1f6..d7516ac 100644 --- a/src/WorkFlow.Application/Dto/ObjectDto.cs +++ b/src/WorkFlow.Application/Dto/ObjectDto.cs @@ -9,4 +9,6 @@ public class ObjectDto public string? CmdCheckIn { get; set; } public ObjectStateDto? State { get; set; } + + public IEnumerable StateHistories { get; set; } = Array.Empty(); } diff --git a/src/WorkFlow.Domain/Entities/PObject.cs b/src/WorkFlow.Domain/Entities/PObject.cs index ba0c312..4a0fb9a 100644 --- a/src/WorkFlow.Domain/Entities/PObject.cs +++ b/src/WorkFlow.Domain/Entities/PObject.cs @@ -28,6 +28,5 @@ public class PObject [ForeignKey("ObjStateId")] public virtual PObjectState? State { get; set; } - [ForeignKey("ObjStateId")] - public virtual IEnumerable? StateHistory { get; set; } = Array.Empty(); + public virtual IEnumerable? StateHistories { get; set; } } \ No newline at end of file diff --git a/src/WorkFlow.Domain/Entities/PObjectStateHist.cs b/src/WorkFlow.Domain/Entities/PObjectStateHist.cs index 40cc569..d1ced92 100644 --- a/src/WorkFlow.Domain/Entities/PObjectStateHist.cs +++ b/src/WorkFlow.Domain/Entities/PObjectStateHist.cs @@ -62,6 +62,4 @@ public class PObjectStateHist [ForeignKey("StateId")] public virtual State? State1 { get; set; } - - public virtual IEnumerable? TFControls { get; set; } } \ No newline at end of file diff --git a/src/WorkFlow.Infrastructure/Repositories/PObjectRepository.cs b/src/WorkFlow.Infrastructure/Repositories/PObjectRepository.cs index e7027a7..7f16086 100644 --- a/src/WorkFlow.Infrastructure/Repositories/PObjectRepository.cs +++ b/src/WorkFlow.Infrastructure/Repositories/PObjectRepository.cs @@ -37,5 +37,6 @@ public class PObjectRepository : IProfileObjRepository .FromSqlRaw("SELECT * FROM [FNMWF_GET_PROFILE_OBJECTS] ({0}, {1})", userId, profileId) .Include(obj => obj.State).ThenInclude(objState => objState != null ? objState.State1 : null) .Include(obj => obj.State).ThenInclude(objState => objState != null ? objState.TFControls : null) + .Include(obj => obj.StateHistories).ThenInclude(hist => hist != null ? hist.State1 : null) .ToListAsync(cancel); } \ No newline at end of file diff --git a/src/WorkFlow.Infrastructure/WFDBContext.cs b/src/WorkFlow.Infrastructure/WFDBContext.cs index 5ace083..b7af9eb 100644 --- a/src/WorkFlow.Infrastructure/WFDBContext.cs +++ b/src/WorkFlow.Infrastructure/WFDBContext.cs @@ -52,6 +52,11 @@ public class WFDBContext : DbContext, IUserManagerDbContext .HasForeignKey(control => control.ObjStateId) .OnDelete(DeleteBehavior.Cascade); + modelBuilder.Entity() + .HasMany(p => p.StateHistories) + .WithOne() + .HasForeignKey(hist => hist.ObjectId); + base.OnModelCreating(modelBuilder); } } \ No newline at end of file