diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/EnvelopeReceiverQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/EnvelopeReceiverQuery.cs deleted file mode 100644 index 93f171f4..00000000 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/EnvelopeReceiverQuery.cs +++ /dev/null @@ -1,47 +0,0 @@ -using EnvelopeGenerator.Application.Histories; - -namespace EnvelopeGenerator.Application.EnvelopeReceivers; - -/// -/// Stellt eine Abfrage für einen Envelope-Empfänger dar. -/// -/// Der Status der Abfrage, optional. -public record EnvelopeReceiverQuery(EnvelopeStatusQuery? Status = null); - -/// -/// Repräsentiert den Status eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch -/// Invalid (0): Ungültiger Status. -/// EnvelopeCreated (1001): Der Umschlag wurde erstellt. -/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert. -/// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant. -/// EnvelopeSent (1004): Der Umschlag wurde versendet. (Nicht verwendet) -/// EnvelopePartlySigned (1005): Der Umschlag wurde teilweise unterschrieben. -/// EnvelopeCompletelySigned (1006): Der Umschlag wurde vollständig unterschrieben. -/// EnvelopeReportCreated (1007): Ein Abschlussbericht wurde für den Umschlag erstellt. -/// EnvelopeArchived (1008): Der Umschlag wurde archiviert. -/// EnvelopeDeleted (1009): Der Umschlag wurde gelöscht. -/// AccessCodeRequested (2001): Der Zugriffscode wurde angefordert. -/// AccessCodeCorrect (2002): Der Zugriffscode war korrekt. -/// AccessCodeIncorrect (2003): Der Zugriffscode war falsch. -/// DocumentOpened (2004): Das Dokument wurde geöffnet. -/// DocumentSigned (2005): Ein Dokument wurde unterschrieben. -/// SignatureConfirmed (2006): Die Signatur wurde bestätigt. -/// DocumentRejected (2007): Ein Dokument wurde abgelehnt. -/// EnvelopeShared (2008): Der Umschlag wurde geteilt. -/// EnvelopeViewed (2009): Der Umschlag wurde angesehen. -/// DocumentForwarded (4001): Das Dokument wurde weitergeleitet. -/// MessageInvitationSent (3001): Einladung wurde gesendet (vom Trigger verwendet). -/// MessageAccessCodeSent (3002): Zugriffscode wurde gesendet. -/// MessageConfirmationSent (3003): Bestätigungsnachricht wurde gesendet. -/// MessageDeletionSent (3004): Löschbenachrichtigung wurde gesendet. -/// MessageCompletionSent (3005): Abschlussbenachrichtigung wurde gesendet. -/// Der minimale Statuswert, der berücksichtigt werden soll. -/// Der maximale Statuswert, der berücksichtigt werden soll. -/// Eine Liste von Statuswerten, die ignoriert werden sollen. -/// -public record EnvelopeStatusQuery( - int? Min = null, - int? Max = null, - int[]? Ignore = null) -{ -} diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverQuery.cs deleted file mode 100644 index 3abf9d84..00000000 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverQuery.cs +++ /dev/null @@ -1,30 +0,0 @@ -using EnvelopeGenerator.Application.Histories; -using EnvelopeGenerator.Application.Envelopes.Queries.Read; -using EnvelopeGenerator.Application.Receivers.Queries.Read; -using MediatR; - -namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries.Read; - -/// -/// Repräsentiert eine Abfrage zum Lesen eines Envelope-Empfängers. -/// -/// -/// 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 -/// sowie zusätzliche Metadaten. -/// -/// Umschlag oder Empfängerstatus. -public record ReadEnvelopeReceiverQuery(EnvelopeStatusQuery? Status = null) : EnvelopeReceiverQuery(Status), IRequest -{ - /// - /// Der Umschlag, der mit dem Empfänger verknüpft ist. - /// - public ReadEnvelopeQuery? Envelope { get; init; } - - /// - /// Der Empfänger, der mit dem Umschlag verknüpft ist. - /// - public ReadReceiverQuery? Receiver { get; init; } -}; diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverResponse.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverResponse.cs deleted file mode 100644 index dd9c482b..00000000 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverResponse.cs +++ /dev/null @@ -1,94 +0,0 @@ -using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes; -using EnvelopeGenerator.Application.Envelopes.Queries.Read; -using EnvelopeGenerator.Application.Receivers.Queries.Read; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; - -namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries.Read; - -/// -/// Repräsentiert die Antwort für das Lesen eines Envelope-Empfängers. -/// -/// -/// Diese Klasse enthält Informationen über einen spezifischen Empfänger eines Umschlags (Envelope). -/// Sie verknüpft die Empfängerinformationen mit den zugehörigen Umschlagsdaten und bietet zusätzliche Metadaten. -/// -/// Die eindeutige Kennung des Benutzers, der den Empfänger erstellt hat. -/// Der Status des Empfängers als numerischer Wert. -public record ReadEnvelopeReceiverResponse(int UserId, int Status) -{ - /// - /// Gibt die zusammengesetzte Kennung des Empfängers zurück, bestehend aus der Umschlags-ID und der Empfänger-ID. - /// - /// - /// Diese Eigenschaft kombiniert die eindeutige Kennung des Umschlags (EnvelopeId) und die des Empfängers (ReceiverId) - /// zu einer einzigen, leicht zugänglichen Struktur. - /// - [NotMapped] - public (int Envelope, int Receiver) Id => (Envelope: EnvelopeId, Receiver: ReceiverId); - - /// - /// Die eindeutige Kennung des zugehörigen Umschlags. - /// - [Required] - public int EnvelopeId { get; init; } - - /// - /// Die eindeutige Kennung des Empfängers. - /// - [Required] - public int ReceiverId { get; init; } - - /// - /// Die Reihenfolge des Empfängers innerhalb des Umschlags. - /// - public int Sequence { get; init; } - - /// - /// Der Name des Empfängers. Kann als Platzhalter verwendet werden. - /// - [TemplatePlaceholder("[NAME_RECEIVER]")] - public string? Name { get; init; } - - /// - /// Die Berufsbezeichnung des Empfängers. - /// - public string? JobTitle { get; init; } - - /// - /// Der Firmenname des Empfängers. - /// - public string? CompanyName { get; init; } - - /// - /// Eine private Nachricht, die mit dem Empfänger verknüpft ist. - /// - public string? PrivateMessage { get; init; } - - /// - /// Das Datum und die Uhrzeit, wann der Empfänger hinzugefügt wurde. - /// - public DateTime AddedWhen { get; init; } - - /// - /// Das Datum und die Uhrzeit, wann der Empfänger zuletzt geändert wurde (falls vorhanden). - /// - public DateTime? ChangedWhen { get; init; } - - /// - /// Gibt an, ob der Empfänger eine Telefonnummer hat. - /// - public bool HasPhoneNumber { get; init; } - - /// - /// Die zugehörigen Umschlagsdaten. - /// - [Required] - public required ReadEnvelopeResponse Envelope { get; init; } - - /// - /// Die Liste der Empfängerinformationen. - /// - [Required] - public IEnumerable Receiver { get; init; } = new List(); -} \ No newline at end of file diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs new file mode 100644 index 00000000..2da2937d --- /dev/null +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs @@ -0,0 +1,107 @@ +using EnvelopeGenerator.Application.Envelopes.Queries.Read; +using EnvelopeGenerator.Application.Receivers.Queries.Read; +using MediatR; +using EnvelopeGenerator.Domain; +using EnvelopeGenerator.Application.Dto.EnvelopeReceiver; + +namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries; + +/// +/// Repräsentiert eine Abfrage zum Lesen eines Envelope-Empfängers. +/// Invalid (0): Ungültiger Status. +/// EnvelopeCreated (1001): Der Umschlag wurde erstellt. +/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert. +/// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant. +/// EnvelopeSent (1004): Der Umschlag wurde versendet. (Nicht verwendet) +/// EnvelopePartlySigned (1005): Der Umschlag wurde teilweise unterschrieben. +/// EnvelopeCompletelySigned (1006): Der Umschlag wurde vollständig unterschrieben. +/// EnvelopeReportCreated (1007): Ein Abschlussbericht wurde für den Umschlag erstellt. +/// EnvelopeArchived (1008): Der Umschlag wurde archiviert. +/// EnvelopeDeleted (1009): Der Umschlag wurde gelöscht. +/// AccessCodeRequested (2001): Der Zugriffscode wurde angefordert. +/// AccessCodeCorrect (2002): Der Zugriffscode war korrekt. +/// AccessCodeIncorrect (2003): Der Zugriffscode war falsch. +/// DocumentOpened (2004): Das Dokument wurde geöffnet. +/// DocumentSigned (2005): Ein Dokument wurde unterschrieben. +/// SignatureConfirmed (2006): Die Signatur wurde bestätigt. +/// DocumentRejected (2007): Ein Dokument wurde abgelehnt. +/// EnvelopeShared (2008): Der Umschlag wurde geteilt. +/// EnvelopeViewed (2009): Der Umschlag wurde angesehen. +/// DocumentForwarded (4001): Das Dokument wurde weitergeleitet. +/// MessageInvitationSent (3001): Einladung wurde gesendet (vom Trigger verwendet). +/// MessageAccessCodeSent (3002): Zugriffscode wurde gesendet. +/// MessageConfirmationSent (3003): Bestätigungsnachricht wurde gesendet. +/// MessageDeletionSent (3004): Löschbenachrichtigung wurde gesendet. +/// MessageCompletionSent (3005): Abschlussbenachrichtigung wurde gesendet. +/// +/// +/// 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 +/// sowie zusätzliche Metadaten. +/// +/// Umschlag oder Empfängerstatus. +public record ReadEnvelopeReceiverQuery : IRequest +{ + /// + /// Der Umschlag, der mit dem Empfänger verknüpft ist. + /// + public ReadEnvelopeQuery? Envelope { get; init; } + + /// + /// Der Empfänger, der mit dem Umschlag verknüpft ist. + /// + public ReadReceiverQuery? Receiver { get; init; } + + /// + /// Abfrage des Status des Umschlags + /// + public EnvelopeStatusQuery? Status { get; init; } +}; + +/// +/// Repräsentiert den Status eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch +/// Invalid (0): Ungültiger Status. +/// EnvelopeCreated (1001): Der Umschlag wurde erstellt. +/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert. +/// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant. +/// EnvelopeSent (1004): Der Umschlag wurde versendet. (Nicht verwendet) +/// EnvelopePartlySigned (1005): Der Umschlag wurde teilweise unterschrieben. +/// EnvelopeCompletelySigned (1006): Der Umschlag wurde vollständig unterschrieben. +/// EnvelopeReportCreated (1007): Ein Abschlussbericht wurde für den Umschlag erstellt. +/// EnvelopeArchived (1008): Der Umschlag wurde archiviert. +/// EnvelopeDeleted (1009): Der Umschlag wurde gelöscht. +/// AccessCodeRequested (2001): Der Zugriffscode wurde angefordert. +/// AccessCodeCorrect (2002): Der Zugriffscode war korrekt. +/// AccessCodeIncorrect (2003): Der Zugriffscode war falsch. +/// DocumentOpened (2004): Das Dokument wurde geöffnet. +/// DocumentSigned (2005): Ein Dokument wurde unterschrieben. +/// SignatureConfirmed (2006): Die Signatur wurde bestätigt. +/// DocumentRejected (2007): Ein Dokument wurde abgelehnt. +/// EnvelopeShared (2008): Der Umschlag wurde geteilt. +/// EnvelopeViewed (2009): Der Umschlag wurde angesehen. +/// DocumentForwarded (4001): Das Dokument wurde weitergeleitet. +/// MessageInvitationSent (3001): Einladung wurde gesendet (vom Trigger verwendet). +/// MessageAccessCodeSent (3002): Zugriffscode wurde gesendet. +/// MessageConfirmationSent (3003): Bestätigungsnachricht wurde gesendet. +/// MessageDeletionSent (3004): Löschbenachrichtigung wurde gesendet. +/// MessageCompletionSent (3005): Abschlussbenachrichtigung wurde gesendet. +/// +public record EnvelopeStatusQuery +{ + /// + /// Der minimale Statuswert, der berücksichtigt werden soll. + /// + public int? Min { get; init; } + + /// + /// Der maximale Statuswert, der berücksichtigt werden soll. + /// + public int? Max { get; init; } + + /// + /// Eine Liste von Statuswerten, die ignoriert werden sollen. + /// + public int[]? Ignore { get; init; } +} diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeReceiverController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeReceiverController.cs index f2ce383c..74c0c8b1 100644 --- a/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeReceiverController.cs +++ b/EnvelopeGenerator.GeneratorAPI/Controllers/EnvelopeReceiverController.cs @@ -4,7 +4,7 @@ using EnvelopeGenerator.Application.Contracts.Services; using EnvelopeGenerator.Application.Contracts.SQLExecutor; using EnvelopeGenerator.Application.Dto.Receiver; using EnvelopeGenerator.Application.EnvelopeReceivers.Commands; -using EnvelopeGenerator.Application.EnvelopeReceivers.Queries.Read; +using EnvelopeGenerator.Application.EnvelopeReceivers.Queries; using EnvelopeGenerator.Application.Envelopes.Queries.ReceiverName; using EnvelopeGenerator.Application.SQL; using EnvelopeGenerator.Domain.Entities;