diff --git a/EnvelopeGenerator.Application/Dto/EnvelopeHistory/EnvelopeHistoryDto.cs b/EnvelopeGenerator.Application/Dto/EnvelopeHistory/EnvelopeHistoryDto.cs index b9564978..d236ba07 100644 --- a/EnvelopeGenerator.Application/Dto/EnvelopeHistory/EnvelopeHistoryDto.cs +++ b/EnvelopeGenerator.Application/Dto/EnvelopeHistory/EnvelopeHistoryDto.cs @@ -25,7 +25,7 @@ public record EnvelopeHistoryDto public required string UserReference { get; set; } /// - /// Status code of the envelope at this history point. + /// StatusQ code of the envelope at this history point. /// public int Status { get; set; } diff --git a/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEmailTemplateCommandHandler.cs b/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEmailTemplateCommandHandler.cs index b96f9706..c9faf046 100644 --- a/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEmailTemplateCommandHandler.cs +++ b/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEmailTemplateCommandHandler.cs @@ -82,7 +82,7 @@ public class ResetEmailTemplateCommandHandler : IRequestHandler /// Repräsentiert eine Abfrage zum Lesen eines Envelope-Empfängers. -/// Invalid (0): Ungültiger Status. +/// Invalid (0): Ungültiger StatusQ. /// EnvelopeCreated (1001): Der Umschlag wurde erstellt. /// EnvelopeSaved (1002): Der Umschlag wurde gespeichert. /// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant. @@ -39,7 +39,7 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries; /// Diese Abfrage kombiniert Informationen über einen Umschlag () /// und einen Empfänger (), um eine vollständige Antwort /// () zu generieren. -/// Die Antwort enthält Details wie den Status, die Zuordnung zwischen Umschlag und Empfänger +/// Die Antwort enthält Details wie den StatusQ, die Zuordnung zwischen Umschlag und Empfänger /// sowie zusätzliche Metadaten. /// public record ReadEnvelopeReceiverQuery : IRequest diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQueryHandler.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQueryHandler.cs index 4addfc8a..a73cc650 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQueryHandler.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQueryHandler.cs @@ -43,8 +43,20 @@ public class ReadEnvelopeReceiverQueryHandler : IRequestHandler er.EnvelopeId == env.Id); - if (env.Status is not null) - q = q.Where(er => er.Envelope.Status == env.Status); + if (env.StatusQ is not null) + { + if(env.StatusQ.MinStatus is not null) + q = q.Where(er => er.Envelope.Status >= env.StatusQ.MinStatus); + + if(env.StatusQ.MaxStatus is not null) + q = q.Where(er => er.Envelope.Status <= env.StatusQ.MaxStatus); + + if(env.StatusQ .Status?.Length > 0) + q = q.Where(er => env.StatusQ.Status.Contains(er.Envelope.Status)); + + if(env.StatusQ.IgnoredStatus is not null) + q = q.Where(er => !env.StatusQ.IgnoredStatus.Contains(er.Envelope.Status)); + } if (env.Uuid is not null) q = q.Where(er => er.Envelope.Uuid == env.Uuid); diff --git a/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs b/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs index 305d232b..710ac21b 100644 --- a/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs +++ b/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs @@ -21,12 +21,12 @@ public class ReadEnvelopeQuery : IRequest /// /// Abfrage des Status des Umschlags /// - public EnvelopeStatusQuery? Status { get; init; } + public EnvelopeStatusQuery? StatusQ { get; init; } } /// -/// Repräsentiert den Status eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch -/// Invalid (0): Ungültiger Status. +/// Repräsentiert den StatusQ eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch +/// Invalid (0): Ungültiger StatusQ. /// EnvelopeCreated (1001): Der Umschlag wurde erstellt. /// EnvelopeSaved (1002): Der Umschlag wurde gespeichert. /// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant. @@ -57,20 +57,20 @@ public record EnvelopeStatusQuery /// /// Der minimale Statuswert, der berücksichtigt werden. /// - public EnvelopeStatusQuery? MinStatus { get; init; } + public int? MinStatus { get; init; } /// /// Der maximale Statuswert, der berücksichtigt werden. /// - public EnvelopeStatusQuery? MaxStatus { get; init; } + public int? MaxStatus { get; init; } /// /// Eine Liste von Statuswerten, die einbezogen werden. /// - public EnvelopeStatusQuery[]? Status { get; init; } + public int[]? Status { get; init; } /// /// Eine Liste von Statuswerten, die ignoriert werden werden. /// - public EnvelopeStatusQuery[]? IgnoredStatus { get; init; } + public int[]? IgnoredStatus { get; init; } } \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Histories/Queries/Read/ReadHistoryQuery.cs b/EnvelopeGenerator.Application/Histories/Queries/Read/ReadHistoryQuery.cs index 6d8b4ecf..3fdcaeb2 100644 --- a/EnvelopeGenerator.Application/Histories/Queries/Read/ReadHistoryQuery.cs +++ b/EnvelopeGenerator.Application/Histories/Queries/Read/ReadHistoryQuery.cs @@ -9,8 +9,8 @@ namespace EnvelopeGenerator.Application.Histories.Queries.Read; /// Repräsentiert eine Abfrage für die Verlaufshistorie eines Umschlags. /// /// Die eindeutige Kennung des Umschlags. -/// Der Status des Umschlags, der abgefragt werden soll. Kann optional angegeben werden, um die Ergebnisse zu filtern. -/// Abfrage zur Steuerung, ob nur der aktuelle Status oder der gesamte Datensatz zurückgegeben wird. +/// Der StatusQ des Umschlags, der abgefragt werden soll. Kann optional angegeben werden, um die Ergebnisse zu filtern. +/// Abfrage zur Steuerung, ob nur der aktuelle StatusQ oder der gesamte Datensatz zurückgegeben wird. public record ReadHistoryQuery( [Required] int EnvelopeId, diff --git a/EnvelopeGenerator.Application/Services/EnvelopeReceiverService.cs b/EnvelopeGenerator.Application/Services/EnvelopeReceiverService.cs index b8092316..4540254b 100644 --- a/EnvelopeGenerator.Application/Services/EnvelopeReceiverService.cs +++ b/EnvelopeGenerator.Application/Services/EnvelopeReceiverService.cs @@ -247,7 +247,7 @@ public class EnvelopeReceiverService : BasicCRUDService er.Envelope?.Uuid == uuid); - if (envelopeQuery?.Status is int status) + if (envelopeQuery?.StatusQ is int status) er_list = er_list.Where(er => er.Envelope?.Status == status); if(receiverQuery?.Id is int id) diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeController.cs index 01747eb9..49212654 100644 --- a/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeController.cs +++ b/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeController.cs @@ -63,13 +63,13 @@ public class EnvelopeController : ControllerBase public async Task GetAsync([FromQuery] ReadEnvelopeQuery envelope) { if (User.GetId() is int intId) - return await _envelopeService.ReadByUserAsync(intId, min_status: envelope.Status, max_status: envelope.Status).ThenAsync( + return await _envelopeService.ReadByUserAsync(intId, min_status: envelope.StatusQ, max_status: envelope.StatusQ).ThenAsync( Success: envelopes => { if (envelope.Id is int id) envelopes = envelopes.Where(e => e.Id == id); - if (envelope.Status is int status) + if (envelope.StatusQ is int status) envelopes = envelopes.Where(e => e.Status == status); if (envelope.Uuid is string uuid) diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs index 1633f94f..c46dcc60 100644 --- a/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs +++ b/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs @@ -37,12 +37,12 @@ public class HistoryController : ControllerBase } /// - /// Gibt alle möglichen Verweise auf alle möglichen Status in einem Verlaufsdatensatz zurück. (z. B. DocumentSigned bezieht sich auf Receiver.) + /// Gibt alle möglichen Verweise auf alle möglichen StatusQ in einem Verlaufsdatensatz zurück. (z. B. DocumentSigned bezieht sich auf Receiver.) /// Dies wird hinzugefügt, damit Client-Anwendungen sich selbst auf dem neuesten Stand halten können. /// 1 - Sender: - /// Historische Datensätze über den Status der Empfänger. Diese haben Statuscodes, die mit 1* beginnen. + /// Historische Datensätze über den StatusQ der Empfänger. Diese haben Statuscodes, die mit 1* beginnen. /// 2 - Receiver: - /// Historische Datensätze, die sich auf den Status des Absenders beziehen. Sie haben Statuscodes, die mit 2* beginnen. + /// Historische Datensätze, die sich auf den StatusQ des Absenders beziehen. Sie haben Statuscodes, die mit 2* beginnen. /// 3 - System: /// Historische Datensätze, die sich auf den allgemeinen Zustand des Umschlags beziehen. Diese haben Statuscodes, die mit 3* beginnen. /// 4 - Unknown: @@ -58,7 +58,7 @@ public class HistoryController : ControllerBase } /// - /// Gibt alle möglichen Status in einem Verlaufsdatensatz zurück. + /// Gibt alle möglichen StatusQ in einem Verlaufsdatensatz zurück. /// Dies wird hinzugefügt, damit Client-Anwendungen sich selbst auf dem neuesten Stand halten können. /// 1003: EnvelopeQueued /// 1006: EnvelopeCompletelySigned @@ -83,9 +83,9 @@ public class HistoryController : ControllerBase /// 3005: MessageCompletionSent /// /// - /// Abfrageparameter, der angibt, auf welche Referenz sich der Status bezieht. - /// 1 - Sender: Historische Datensätze, die sich auf den Status des Absenders beziehen. Sie haben Statuscodes, die mit 1* beginnen. - /// 2 - Receiver: Historische Datensätze über den Status der Empfänger. Diese haben Statuscodes, die mit 2* beginnen. + /// Abfrageparameter, der angibt, auf welche Referenz sich der StatusQ bezieht. + /// 1 - Sender: Historische Datensätze, die sich auf den StatusQ des Absenders beziehen. Sie haben Statuscodes, die mit 1* beginnen. + /// 2 - Receiver: Historische Datensätze über den StatusQ der Empfänger. Diese haben Statuscodes, die mit 2* beginnen. /// 3 - System: Diese werden durch Datenbank-Trigger aktualisiert und sind in den Tabellen EnvelopeHistory und EmailOut zu finden.Sie arbeiten /// integriert mit der Anwendung EmailProfiler, um E-Mails zu versenden und haben die Codes, die mit 3* beginnen. /// diff --git a/EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs b/EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs index dc8c2fc4..2d7c8150 100644 --- a/EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs +++ b/EnvelopeGenerator.Infrastructure/Migrations/20250701151754_InitialCreate.Designer.cs @@ -645,7 +645,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations .HasColumnType("int") .HasColumnName("RECEIVER_ID"); - b.Property("Status") + b.Property("StatusQ") .HasColumnType("int") .HasColumnName("STATUS"); @@ -780,7 +780,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations .HasColumnType("bit") .HasColumnName("SEND_REMINDER_EMAILS"); - b.Property("Status") + b.Property("StatusQ") .HasColumnType("int") .HasColumnName("STATUS"); @@ -923,7 +923,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations b.Property("SenderId") .HasColumnType("int"); - b.Property("Status") + b.Property("StatusQ") .HasColumnType("int") .HasColumnName("STATUS"); diff --git a/EnvelopeGenerator.Infrastructure/Migrations/EGDbContextModelSnapshot.cs b/EnvelopeGenerator.Infrastructure/Migrations/EGDbContextModelSnapshot.cs index 95ccdc14..10c74537 100644 --- a/EnvelopeGenerator.Infrastructure/Migrations/EGDbContextModelSnapshot.cs +++ b/EnvelopeGenerator.Infrastructure/Migrations/EGDbContextModelSnapshot.cs @@ -642,7 +642,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations .HasColumnType("int") .HasColumnName("RECEIVER_ID"); - b.Property("Status") + b.Property("StatusQ") .HasColumnType("int") .HasColumnName("STATUS"); @@ -777,7 +777,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations .HasColumnType("bit") .HasColumnName("SEND_REMINDER_EMAILS"); - b.Property("Status") + b.Property("StatusQ") .HasColumnType("int") .HasColumnName("STATUS"); @@ -920,7 +920,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations b.Property("SenderId") .HasColumnType("int"); - b.Property("Status") + b.Property("StatusQ") .HasColumnType("int") .HasColumnName("STATUS");