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