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; }
|
public required string UserReference { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Status code of the envelope at this history point.
|
/// StatusQ code of the envelope at this history point.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int Status { get; set; }
|
public int Status { get; set; }
|
||||||
|
|
||||||
|
|||||||
@ -82,7 +82,7 @@ public class ResetEmailTemplateCommandHandler : IRequestHandler<ResetEmailTempla
|
|||||||
new(){
|
new(){
|
||||||
Id = 6,
|
Id = 6,
|
||||||
Name = "DocumentRejected_ADM",
|
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"
|
Subject = "'[DOCUMENT_TITLE]' - Unterzeichnungsvorgang zurückgezogen"
|
||||||
},
|
},
|
||||||
new(){
|
new(){
|
||||||
|
|||||||
@ -9,7 +9,7 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Repräsentiert eine Abfrage zum Lesen eines Envelope-Empfängers.
|
/// 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.
|
/// EnvelopeCreated (1001): Der Umschlag wurde erstellt.
|
||||||
/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert.
|
/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert.
|
||||||
/// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant.
|
/// 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"/>)
|
/// Diese Abfrage kombiniert Informationen über einen Umschlag (<see cref="ReadEnvelopeQuery"/>)
|
||||||
/// und einen Empfänger (<see cref="ReadReceiverQuery"/>), um eine vollständige Antwort
|
/// und einen Empfänger (<see cref="ReadReceiverQuery"/>), um eine vollständige Antwort
|
||||||
/// (<see cref="EnvelopeReceiverDto"/>) zu generieren.
|
/// (<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.
|
/// sowie zusätzliche Metadaten.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public record ReadEnvelopeReceiverQuery : IRequest<EnvelopeReceiverDto>
|
public record ReadEnvelopeReceiverQuery : IRequest<EnvelopeReceiverDto>
|
||||||
|
|||||||
@ -43,8 +43,20 @@ public class ReadEnvelopeReceiverQueryHandler : IRequestHandler<ReadEnvelopeRece
|
|||||||
if (env.Id is not null)
|
if (env.Id is not null)
|
||||||
q = q.Where(er => er.EnvelopeId == env.Id);
|
q = q.Where(er => er.EnvelopeId == env.Id);
|
||||||
|
|
||||||
if (env.Status is not null)
|
if (env.StatusQ is not null)
|
||||||
q = q.Where(er => er.Envelope.Status == env.Status);
|
{
|
||||||
|
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)
|
if (env.Uuid is not null)
|
||||||
q = q.Where(er => er.Envelope.Uuid == env.Uuid);
|
q = q.Where(er => er.Envelope.Uuid == env.Uuid);
|
||||||
|
|||||||
@ -21,12 +21,12 @@ public class ReadEnvelopeQuery : IRequest
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Abfrage des Status des Umschlags
|
/// Abfrage des Status des Umschlags
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public EnvelopeStatusQuery? Status { get; init; }
|
public EnvelopeStatusQuery? StatusQ { get; init; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Repräsentiert den Status eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch <see cref="Constants.EnvelopeStatus"/>
|
/// Repräsentiert den StatusQ eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch <see cref="Constants.EnvelopeStatus"/>
|
||||||
/// Invalid (0): Ungültiger Status.
|
/// Invalid (0): Ungültiger StatusQ.
|
||||||
/// EnvelopeCreated (1001): Der Umschlag wurde erstellt.
|
/// EnvelopeCreated (1001): Der Umschlag wurde erstellt.
|
||||||
/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert.
|
/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert.
|
||||||
/// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant.
|
/// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant.
|
||||||
@ -57,20 +57,20 @@ public record EnvelopeStatusQuery
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Der minimale Statuswert, der berücksichtigt werden.
|
/// Der minimale Statuswert, der berücksichtigt werden.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public EnvelopeStatusQuery? MinStatus { get; init; }
|
public int? MinStatus { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Der maximale Statuswert, der berücksichtigt werden.
|
/// Der maximale Statuswert, der berücksichtigt werden.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public EnvelopeStatusQuery? MaxStatus { get; init; }
|
public int? MaxStatus { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Eine Liste von Statuswerten, die einbezogen werden.
|
/// Eine Liste von Statuswerten, die einbezogen werden.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public EnvelopeStatusQuery[]? Status { get; init; }
|
public int[]? Status { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Eine Liste von Statuswerten, die ignoriert werden werden.
|
/// Eine Liste von Statuswerten, die ignoriert werden werden.
|
||||||
/// </summary>
|
/// </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.
|
/// Repräsentiert eine Abfrage für die Verlaufshistorie eines Umschlags.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="EnvelopeId">Die eindeutige Kennung des Umschlags.</param>
|
/// <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="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 Status oder der gesamte Datensatz zurückgegeben wird.</param>
|
/// <param name="OnlyLast">Abfrage zur Steuerung, ob nur der aktuelle StatusQ oder der gesamte Datensatz zurückgegeben wird.</param>
|
||||||
public record ReadHistoryQuery(
|
public record ReadHistoryQuery(
|
||||||
[Required]
|
[Required]
|
||||||
int EnvelopeId,
|
int EnvelopeId,
|
||||||
|
|||||||
@ -247,7 +247,7 @@ public class EnvelopeReceiverService : BasicCRUDService<IEnvelopeReceiverReposit
|
|||||||
if (envelopeQuery?.Uuid is string uuid)
|
if (envelopeQuery?.Uuid is string uuid)
|
||||||
er_list = er_list.Where(er => er.Envelope?.Uuid == 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);
|
er_list = er_list.Where(er => er.Envelope?.Status == status);
|
||||||
|
|
||||||
if(receiverQuery?.Id is int id)
|
if(receiverQuery?.Id is int id)
|
||||||
|
|||||||
@ -63,13 +63,13 @@ public class EnvelopeController : ControllerBase
|
|||||||
public async Task<IActionResult> GetAsync([FromQuery] ReadEnvelopeQuery envelope)
|
public async Task<IActionResult> GetAsync([FromQuery] ReadEnvelopeQuery envelope)
|
||||||
{
|
{
|
||||||
if (User.GetId() is int intId)
|
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 =>
|
Success: envelopes =>
|
||||||
{
|
{
|
||||||
if (envelope.Id is int id)
|
if (envelope.Id is int id)
|
||||||
envelopes = envelopes.Where(e => e.Id == 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);
|
envelopes = envelopes.Where(e => e.Status == status);
|
||||||
|
|
||||||
if (envelope.Uuid is string uuid)
|
if (envelope.Uuid is string uuid)
|
||||||
|
|||||||
@ -37,12 +37,12 @@ public class HistoryController : ControllerBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <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.
|
/// Dies wird hinzugefügt, damit Client-Anwendungen sich selbst auf dem neuesten Stand halten können.
|
||||||
/// 1 - Sender:
|
/// 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:
|
/// 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:
|
/// 3 - System:
|
||||||
/// Historische Datensätze, die sich auf den allgemeinen Zustand des Umschlags beziehen. Diese haben Statuscodes, die mit 3* beginnen.
|
/// Historische Datensätze, die sich auf den allgemeinen Zustand des Umschlags beziehen. Diese haben Statuscodes, die mit 3* beginnen.
|
||||||
/// 4 - Unknown:
|
/// 4 - Unknown:
|
||||||
@ -58,7 +58,7 @@ public class HistoryController : ControllerBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <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.
|
/// Dies wird hinzugefügt, damit Client-Anwendungen sich selbst auf dem neuesten Stand halten können.
|
||||||
/// 1003: EnvelopeQueued
|
/// 1003: EnvelopeQueued
|
||||||
/// 1006: EnvelopeCompletelySigned
|
/// 1006: EnvelopeCompletelySigned
|
||||||
@ -83,9 +83,9 @@ public class HistoryController : ControllerBase
|
|||||||
/// 3005: MessageCompletionSent
|
/// 3005: MessageCompletionSent
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="status">
|
/// <param name="status">
|
||||||
/// Abfrageparameter, der angibt, auf welche Referenz sich der Status bezieht.
|
/// Abfrageparameter, der angibt, auf welche Referenz sich der StatusQ bezieht.
|
||||||
/// 1 - Sender: Historische Datensätze, die sich auf den Status des Absenders beziehen. Sie haben Statuscodes, die mit 1* beginnen.
|
/// 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 Status der Empfänger. Diese haben Statuscodes, die mit 2* 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
|
/// 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.
|
/// integriert mit der Anwendung EmailProfiler, um E-Mails zu versenden und haben die Codes, die mit 3* beginnen.
|
||||||
/// </param>
|
/// </param>
|
||||||
|
|||||||
@ -645,7 +645,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
|||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasColumnName("RECEIVER_ID");
|
.HasColumnName("RECEIVER_ID");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("StatusQ")
|
||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasColumnName("STATUS");
|
.HasColumnName("STATUS");
|
||||||
|
|
||||||
@ -780,7 +780,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
|||||||
.HasColumnType("bit")
|
.HasColumnType("bit")
|
||||||
.HasColumnName("SEND_REMINDER_EMAILS");
|
.HasColumnName("SEND_REMINDER_EMAILS");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("StatusQ")
|
||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasColumnName("STATUS");
|
.HasColumnName("STATUS");
|
||||||
|
|
||||||
@ -923,7 +923,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
|||||||
b.Property<int?>("SenderId")
|
b.Property<int?>("SenderId")
|
||||||
.HasColumnType("int");
|
.HasColumnType("int");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("StatusQ")
|
||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasColumnName("STATUS");
|
.HasColumnName("STATUS");
|
||||||
|
|
||||||
|
|||||||
@ -642,7 +642,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
|||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasColumnName("RECEIVER_ID");
|
.HasColumnName("RECEIVER_ID");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("StatusQ")
|
||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasColumnName("STATUS");
|
.HasColumnName("STATUS");
|
||||||
|
|
||||||
@ -777,7 +777,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
|||||||
.HasColumnType("bit")
|
.HasColumnType("bit")
|
||||||
.HasColumnName("SEND_REMINDER_EMAILS");
|
.HasColumnName("SEND_REMINDER_EMAILS");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("StatusQ")
|
||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasColumnName("STATUS");
|
.HasColumnName("STATUS");
|
||||||
|
|
||||||
@ -920,7 +920,7 @@ namespace EnvelopeGenerator.Infrastructure.Migrations
|
|||||||
b.Property<int?>("SenderId")
|
b.Property<int?>("SenderId")
|
||||||
.HasColumnType("int");
|
.HasColumnType("int");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("StatusQ")
|
||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasColumnName("STATUS");
|
.HasColumnName("STATUS");
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user