add logic for status query
This commit is contained in:
parent
c0a5b57668
commit
290e87048c
@ -25,7 +25,7 @@ public record EnvelopeHistoryDto
|
||||
public required string UserReference { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Status code of the envelope at this history point.
|
||||
/// StatusQ code of the envelope at this history point.
|
||||
/// </summary>
|
||||
public int Status { get; set; }
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ public class ResetEmailTemplateCommandHandler : IRequestHandler<ResetEmailTempla
|
||||
new(){
|
||||
Id = 6,
|
||||
Name = "DocumentRejected_ADM",
|
||||
Body = "Guten Tag [NAME_SENDER],<p><B><I>[NAME_RECEIVER]</I></B> hat den Umschlag <B><I>'[DOCUMENT_TITLE]'</I></B> mit folgendem Grund abgelehnt: <p>\r\n[REASON] \r\n<p>Der Umschlag wurde auf den Status Rejected gesetzt. <p> \r\nMit freundlichen Grüßen<br />\r\n<br />\r\n[NAME_PORTAL]",
|
||||
Body = "Guten Tag [NAME_SENDER],<p><B><I>[NAME_RECEIVER]</I></B> hat den Umschlag <B><I>'[DOCUMENT_TITLE]'</I></B> mit folgendem Grund abgelehnt: <p>\r\n[REASON] \r\n<p>Der Umschlag wurde auf den StatusQ Rejected gesetzt. <p> \r\nMit freundlichen Grüßen<br />\r\n<br />\r\n[NAME_PORTAL]",
|
||||
Subject = "'[DOCUMENT_TITLE]' - Unterzeichnungsvorgang zurückgezogen"
|
||||
},
|
||||
new(){
|
||||
|
||||
@ -9,7 +9,7 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
||||
|
||||
/// <summary>
|
||||
/// 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 (<see cref="ReadEnvelopeQuery"/>)
|
||||
/// und einen Empfänger (<see cref="ReadReceiverQuery"/>), um eine vollständige Antwort
|
||||
/// (<see cref="EnvelopeReceiverDto"/>) 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.
|
||||
/// </remarks>
|
||||
public record ReadEnvelopeReceiverQuery : IRequest<EnvelopeReceiverDto>
|
||||
|
||||
@ -43,8 +43,20 @@ public class ReadEnvelopeReceiverQueryHandler : IRequestHandler<ReadEnvelopeRece
|
||||
if (env.Id is not null)
|
||||
q = q.Where(er => 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);
|
||||
|
||||
@ -21,12 +21,12 @@ public class ReadEnvelopeQuery : IRequest
|
||||
/// <summary>
|
||||
/// Abfrage des Status des Umschlags
|
||||
/// </summary>
|
||||
public EnvelopeStatusQuery? Status { get; init; }
|
||||
public EnvelopeStatusQuery? StatusQ { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Repräsentiert den Status eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch <see cref="Constants.EnvelopeStatus"/>
|
||||
/// Invalid (0): Ungültiger Status.
|
||||
/// Repräsentiert den StatusQ eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch <see cref="Constants.EnvelopeStatus"/>
|
||||
/// 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
|
||||
/// <summary>
|
||||
/// Der minimale Statuswert, der berücksichtigt werden.
|
||||
/// </summary>
|
||||
public EnvelopeStatusQuery? MinStatus { get; init; }
|
||||
public int? MinStatus { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Der maximale Statuswert, der berücksichtigt werden.
|
||||
/// </summary>
|
||||
public EnvelopeStatusQuery? MaxStatus { get; init; }
|
||||
public int? MaxStatus { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Eine Liste von Statuswerten, die einbezogen werden.
|
||||
/// </summary>
|
||||
public EnvelopeStatusQuery[]? Status { get; init; }
|
||||
public int[]? Status { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Eine Liste von Statuswerten, die ignoriert werden werden.
|
||||
/// </summary>
|
||||
public EnvelopeStatusQuery[]? IgnoredStatus { get; init; }
|
||||
public int[]? IgnoredStatus { get; init; }
|
||||
}
|
||||
@ -9,8 +9,8 @@ namespace EnvelopeGenerator.Application.Histories.Queries.Read;
|
||||
/// Repräsentiert eine Abfrage für die Verlaufshistorie eines Umschlags.
|
||||
/// </summary>
|
||||
/// <param name="EnvelopeId">Die eindeutige Kennung des Umschlags.</param>
|
||||
/// <param name="Status">Der Status des Umschlags, der abgefragt werden soll. Kann optional angegeben werden, um die Ergebnisse zu filtern.</param>
|
||||
/// <param name="OnlyLast">Abfrage zur Steuerung, ob nur der aktuelle Status oder der gesamte Datensatz zurückgegeben wird.</param>
|
||||
/// <param name="Status">Der StatusQ des Umschlags, der abgefragt werden soll. Kann optional angegeben werden, um die Ergebnisse zu filtern.</param>
|
||||
/// <param name="OnlyLast">Abfrage zur Steuerung, ob nur der aktuelle StatusQ oder der gesamte Datensatz zurückgegeben wird.</param>
|
||||
public record ReadHistoryQuery(
|
||||
[Required]
|
||||
int EnvelopeId,
|
||||
|
||||
@ -247,7 +247,7 @@ public class EnvelopeReceiverService : BasicCRUDService<IEnvelopeReceiverReposit
|
||||
if (envelopeQuery?.Uuid is string uuid)
|
||||
er_list = er_list.Where(er => 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)
|
||||
|
||||
@ -63,13 +63,13 @@ public class EnvelopeController : ControllerBase
|
||||
public async Task<IActionResult> 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)
|
||||
|
||||
@ -37,12 +37,12 @@ public class HistoryController : ControllerBase
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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
|
||||
/// </summary>
|
||||
/// <param name="status">
|
||||
/// 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.
|
||||
/// </param>
|
||||
|
||||
@ -645,7 +645,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("RECEIVER_ID");
|
||||
|
||||
b.Property<int>("Status")
|
||||
b.Property<int>("StatusQ")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("STATUS");
|
||||
|
||||
@ -780,7 +780,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("SEND_REMINDER_EMAILS");
|
||||
|
||||
b.Property<int>("Status")
|
||||
b.Property<int>("StatusQ")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("STATUS");
|
||||
|
||||
@ -923,7 +923,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
||||
b.Property<int?>("SenderId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Status")
|
||||
b.Property<int>("StatusQ")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("STATUS");
|
||||
|
||||
|
||||
@ -642,7 +642,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("RECEIVER_ID");
|
||||
|
||||
b.Property<int>("Status")
|
||||
b.Property<int>("StatusQ")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("STATUS");
|
||||
|
||||
@ -777,7 +777,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("SEND_REMINDER_EMAILS");
|
||||
|
||||
b.Property<int>("Status")
|
||||
b.Property<int>("StatusQ")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("STATUS");
|
||||
|
||||
@ -920,7 +920,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
||||
b.Property<int?>("SenderId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Status")
|
||||
b.Property<int>("StatusQ")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("STATUS");
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user