From f41f26b8105c6e6e2da3d65a45a66f2b9b3119ef Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 8 Sep 2025 15:00:02 +0200 Subject: [PATCH] refactor(DocumentReceiverElement): make AddedWhen nullable and add ChangedWho-property --- .../Queries/ReadEnvelopeReceiverQuery.cs | 7 ++++--- .../Queries/ReceiverAlreadySignedQuery.cs | 2 +- .../Models/EnvelopeModel.vb | 2 +- .../Entities/DocumentReceiverElement.cs | 11 +++++++++-- EnvelopeGenerator.Domain/Entities/Envelope.cs | 14 +++++++++++--- EnvelopeGenerator.Form/frmMain.Designer.vb | 4 ++-- EnvelopeGenerator.Infrastructure/EGDbContext.cs | 4 ++-- .../20250701151754_InitialCreate.Designer.cs | 4 ++-- .../Migrations/EGDbContextModelSnapshot.cs | 4 ++-- .../Repositories/EnvelopeRepository.cs | 4 ++-- .../Repositories/EnvlopeReceiverRepository.cs | 4 ++-- 11 files changed, 38 insertions(+), 22 deletions(-) diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs index 17a0940a..f7f8e7e4 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs @@ -131,12 +131,13 @@ public class ReadEnvelopeReceiverQueryHandler : IRequestHandler !status.Ignore.Contains(er.Envelope!.Status)); } - var envRcvs = await q.Include(er => er.Envelope).ThenInclude(e => e!.Documents).ThenInclude(d => d.Elements) - .Include(er => er.Envelope).ThenInclude(e => e!.History) + var envRcvs = await q + .Include(er => er.Envelope).ThenInclude(e => e!.Documents!).ThenInclude(d => d.Elements) + .Include(er => er.Envelope).ThenInclude(e => e!.Histories) .Include(er => er.Envelope).ThenInclude(e => e!.User) .Include(er => er.Receiver) .ToListAsync(cancel); return _mapper.Map>(envRcvs); } -} \ No newline at end of file +} \ No newline at end of file diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReceiverAlreadySignedQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReceiverAlreadySignedQuery.cs index d64b4375..588d29b9 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReceiverAlreadySignedQuery.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReceiverAlreadySignedQuery.cs @@ -71,7 +71,7 @@ public class ReceiverAlreadySignedQueryHandler : IRequestHandler er.Envelope!.Uuid == request.Envelope.Uuid) .Where(er => er.Receiver!.Signature == request.Receiver.Signature) - .Where(er => er.Envelope!.History.Any(hist => hist.Status == EnvelopeStatus.DocumentSigned)) + .Where(er => er.Envelope!.Histories.Any(hist => hist.Status == EnvelopeStatus.DocumentSigned)) .AnyAsync(cancel); } } \ No newline at end of file diff --git a/EnvelopeGenerator.CommonServices/Models/EnvelopeModel.vb b/EnvelopeGenerator.CommonServices/Models/EnvelopeModel.vb index a47f8655..42986d2e 100644 --- a/EnvelopeGenerator.CommonServices/Models/EnvelopeModel.vb +++ b/EnvelopeGenerator.CommonServices/Models/EnvelopeModel.vb @@ -63,7 +63,7 @@ Public Class EnvelopeModel oEnvelope.User = UserModel.SelectUser(oEnvelope.UserId) oEnvelope.EnvelopeReceivers = ReceiverModel.ListEnvelopeReceivers(oEnvelope.Id) oEnvelope.Documents = DocumentModel.List(oEnvelope.Id) - oEnvelope.History = HistoryModel.List(oEnvelope.Id) + oEnvelope.Histories = HistoryModel.List(oEnvelope.Id) oEnvelope.Type = EnvelopeTypeModel.GetById(oEnvelope.EnvelopeTypeId) Return oEnvelope diff --git a/EnvelopeGenerator.Domain/Entities/DocumentReceiverElement.cs b/EnvelopeGenerator.Domain/Entities/DocumentReceiverElement.cs index aba4ab66..ff097d7e 100644 --- a/EnvelopeGenerator.Domain/Entities/DocumentReceiverElement.cs +++ b/EnvelopeGenerator.Domain/Entities/DocumentReceiverElement.cs @@ -90,10 +90,17 @@ public class DocumentReceiverElement [Required] [Column("ADDED_WHEN", TypeName = "datetime")] [DefaultValue("GETDATE()")] - public DateTime AddedWhen { get; set; } + public DateTime? AddedWhen { get; set; } [Column("CHANGED_WHEN", TypeName = "datetime")] - public DateTime ChangedWhen { get; set; } + public DateTime? ChangedWhen { get; set; } + + [Column("CHANGED_WHO", TypeName = "nvarchar(100)")] + public string +#if NET + ? +#endif + ChangedWho { get; set; } [ForeignKey("DocumentId")] public virtual EnvelopeDocument Document { get; set; } diff --git a/EnvelopeGenerator.Domain/Entities/Envelope.cs b/EnvelopeGenerator.Domain/Entities/Envelope.cs index 7a348ac8..5307a7ec 100644 --- a/EnvelopeGenerator.Domain/Entities/Envelope.cs +++ b/EnvelopeGenerator.Domain/Entities/Envelope.cs @@ -36,7 +36,7 @@ public class Envelope CertificationType = (int)Constants.CertificationType.AdvancedElectronicSignature; UseAccessCode = false; Documents = Enumerable.Empty().ToList(); - History = Enumerable.Empty().ToList(); + Histories = Enumerable.Empty().ToList(); EnvelopeReceivers = Enumerable.Empty().ToList(); #endif } @@ -158,9 +158,17 @@ public class Envelope public bool IsAlreadySent => Status > EnvelopeStatus.EnvelopeSaved; #endif - public List Documents { get; set; } + public List +#if NET + ? +#endif + Documents { get; set; } - public List History { get; set; } + public List +#if NET + ? +#endif + Histories { get; set; } public List #if NET diff --git a/EnvelopeGenerator.Form/frmMain.Designer.vb b/EnvelopeGenerator.Form/frmMain.Designer.vb index cbdd471d..1cc038d0 100644 --- a/EnvelopeGenerator.Form/frmMain.Designer.vb +++ b/EnvelopeGenerator.Form/frmMain.Designer.vb @@ -196,7 +196,7 @@ Partial Class frmMain GridLevelNode1.LevelTemplate = Me.ViewReceivers GridLevelNode1.RelationName = "EnvelopeReceivers" GridLevelNode2.LevelTemplate = Me.ViewHistory - GridLevelNode2.RelationName = "History" + GridLevelNode2.RelationName = "Histories" Me.GridEnvelopes.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode1, GridLevelNode2}) Me.GridEnvelopes.MainView = Me.ViewEnvelopes Me.GridEnvelopes.MenuManager = Me.RibbonControl @@ -582,7 +582,7 @@ Partial Class frmMain GridLevelNode3.LevelTemplate = Me.ViewReceiversCompleted GridLevelNode3.RelationName = "EnvelopeReceivers" GridLevelNode4.LevelTemplate = Me.ViewHistoryCompleted - GridLevelNode4.RelationName = "History" + GridLevelNode4.RelationName = "Histories" Me.GridCompleted.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode3, GridLevelNode4}) Me.GridCompleted.MainView = Me.ViewCompleted Me.GridCompleted.MenuManager = Me.RibbonControl diff --git a/EnvelopeGenerator.Infrastructure/EGDbContext.cs b/EnvelopeGenerator.Infrastructure/EGDbContext.cs index 5f009a05..4d9aefbe 100644 --- a/EnvelopeGenerator.Infrastructure/EGDbContext.cs +++ b/EnvelopeGenerator.Infrastructure/EGDbContext.cs @@ -116,9 +116,9 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext .HasForeignKey(ed => ed.EnvelopeId); modelBuilder.Entity() - .HasMany(e => e.History) + .HasMany(e => e.Histories) .WithOne() - .HasForeignKey(eh => eh.EnvelopeId); + .HasForeignKey(hist => hist.EnvelopeId); #endregion Envelope #region Receiver diff --git a/EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs b/EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs index 06cab136..7f9807e0 100644 --- a/EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs +++ b/EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs @@ -1300,7 +1300,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations modelBuilder.Entity("EnvelopeGenerator.Domain.Entities.EnvelopeHistory", b => { b.HasOne("EnvelopeGenerator.Domain.Entities.Envelope", null) - .WithMany("History") + .WithMany("Histories") .HasForeignKey("EnvelopeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); @@ -1360,7 +1360,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations { b.Navigation("Documents"); - b.Navigation("History"); + b.Navigation("Histories"); b.Navigation("EnvelopeReceivers"); }); diff --git a/EnvelopeGenerator.Infrastructure/Migrations/EGDbContextModelSnapshot.cs b/EnvelopeGenerator.Infrastructure/Migrations/EGDbContextModelSnapshot.cs index e4e00106..99c61872 100644 --- a/EnvelopeGenerator.Infrastructure/Migrations/EGDbContextModelSnapshot.cs +++ b/EnvelopeGenerator.Infrastructure/Migrations/EGDbContextModelSnapshot.cs @@ -1297,7 +1297,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations modelBuilder.Entity("EnvelopeGenerator.Domain.Entities.EnvelopeHistory", b => { b.HasOne("EnvelopeGenerator.Domain.Entities.Envelope", null) - .WithMany("History") + .WithMany("Histories") .HasForeignKey("EnvelopeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); @@ -1357,7 +1357,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations { b.Navigation("Documents"); - b.Navigation("History"); + b.Navigation("Histories"); b.Navigation("EnvelopeReceivers"); }); diff --git a/EnvelopeGenerator.Infrastructure/Repositories/EnvelopeRepository.cs b/EnvelopeGenerator.Infrastructure/Repositories/EnvelopeRepository.cs index 134b3c10..f738e256 100644 --- a/EnvelopeGenerator.Infrastructure/Repositories/EnvelopeRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Repositories/EnvelopeRepository.cs @@ -25,7 +25,7 @@ public class EnvelopeRepository : CRUDRepository, IE query = query.Include(e => e.Documents); if (history) - query = query.Include(e => e.History); + query = query.Include(e => e.Histories); return await query.ToListAsync(); } @@ -44,7 +44,7 @@ public class EnvelopeRepository : CRUDRepository, IE query = query.Include(e => e.User!); if (withAll || withHistory) - query = query.Include(e => e.History); + query = query.Include(e => e.Histories); return await query.FirstOrDefaultAsync(); } diff --git a/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs b/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs index 65d983a1..6325ee85 100644 --- a/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs @@ -28,7 +28,7 @@ public class EnvelopeReceiverRepository : CRUDRepository er.Envelope).ThenInclude(e => e!.Documents!).ThenInclude(d => d.Elements!.Where(e => signature == null || e.Receiver!.Signature == signature)) - .Include(er => er.Envelope).ThenInclude(e => e!.History) + .Include(er => er.Envelope).ThenInclude(e => e!.Histories) .Include(er => er.Envelope).ThenInclude(e => e!.User); if (withReceiver) @@ -63,7 +63,7 @@ public class EnvelopeReceiverRepository : CRUDRepository er.Envelope).ThenInclude(e => e!.Documents!).ThenInclude(d => d.Elements!.Where(e => e.Receiver!.Id == receiverId)) - .Include(er => er.Envelope).ThenInclude(e => e!.History) + .Include(er => er.Envelope).ThenInclude(e => e!.Histories) .Include(er => er.Envelope).ThenInclude(e => e!.User); if (withReceiver)