diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Commands/Create/CreateEnvelopeCommand.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Commands/Create/CreateEnvelopeCommand.cs index 195c9db5..5f726bca 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Commands/Create/CreateEnvelopeCommand.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Commands/Create/CreateEnvelopeCommand.cs @@ -27,18 +27,45 @@ public record ReceiverGetOrCreateDto([Required] IEnumerable Signature /// E-Mail-Adresse des Empfängers. /// [Required] - public required string EmailAddress { get => _emailAddress.ToLower(); init => _emailAddress.ToLower(); } + public required string EmailAddress { get => _emailAddress.ToLower(); init => _emailAddress = _emailAddress.ToLower(); } }; /// -/// DTO für die Erstellung eines Dokuments. +/// DTO for creating a document. /// +/// +/// The document data in byte array format. This is used when the document is provided as raw binary data. +/// +/// +/// The document data in Base64 string format. This is used when the document is provided as a Base64-encoded string. +/// public record DocumentCreateDto(byte[]? DataAsByte = null, string? DataAsBase64 = null); #endregion /// +/// +/// Command to create an envelope. +/// +/// The title of the envelope. This is a required field. +/// The message to be included in the envelope. This is a required field. +/// The document associated with the envelope. This is a required field. +/// A collection of receivers who will receive the envelope. This is a required field. +/// The language of the envelope. Defaults to "de-DE" if not specified. +/// The expiration date of the envelope. Optional. +/// The date when a warning should be issued before expiration. Optional. +/// The type of contract associated with the envelope. Defaults to the "Contract" type. +/// Indicates whether two-factor authentication is enabled for the envelope. Defaults to false. /// Befehl zur Erstellung eines Umschlags. /// +/// +/// +/// +/// +/// +/// +/// +/// +/// public record CreateEnvelopeCommand( [Required] string Title, [Required] string Message, diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/EnvelopeReceiverQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/EnvelopeReceiverQuery.cs index ce8fffd2..b4bc1de4 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/EnvelopeReceiverQuery.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/EnvelopeReceiverQuery.cs @@ -9,7 +9,6 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers; /// /// /// -/// public record EnvelopeReceiverQuery( int? MinStatus = null, int? MaxStatus = null, diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverQuery.cs index d81b8579..3bb56aaa 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverQuery.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverQuery.cs @@ -5,11 +5,24 @@ using MediatR; namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries.Read; /// -/// Stellt eine Abfrage zum Lesen eines Envelope-Empfängers dar. +/// 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. +/// public record ReadEnvelopeReceiverQuery : EnvelopeReceiverQuery, 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; } -}; \ No newline at end of file +}; diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverResponse.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverResponse.cs index c046fd5d..ca0526be 100644 --- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverResponse.cs +++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/Read/ReadEnvelopeReceiverResponse.cs @@ -12,35 +12,80 @@ namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries.Read; /// Der angeforderte Empfänger. public record ReadEnvelopeReceiverResponse(int UserId, int Status) { + /// + /// 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. [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/Envelopes/Queries/Read/ReadEnvelopeResponse.cs b/EnvelopeGenerator.Application/Envelopes/Queries/Read/ReadEnvelopeResponse.cs index 04938c55..5644d251 100644 --- a/EnvelopeGenerator.Application/Envelopes/Queries/Read/ReadEnvelopeResponse.cs +++ b/EnvelopeGenerator.Application/Envelopes/Queries/Read/ReadEnvelopeResponse.cs @@ -2,7 +2,35 @@ namespace EnvelopeGenerator.Application.Envelopes.Queries.Read; -public record ReadEnvelopeResponse(int Id, int UserId, int Status, string Uuid, string? Message, DateTime AddedWhen, DateTime? ChangedWhen, string? Title, string Language, bool TFAEnabled, DigitalData.UserManager.Domain.Entities.User User) +/// +/// Repräsentiert die Antwort für das Lesen eines Umschlags. +/// +/// Die eindeutige Kennung des Umschlags. +/// Die Kennung des Benutzers, der den Umschlag erstellt hat. +/// Der Status des Umschlags als numerischer Wert. +/// Die universelle eindeutige Kennung (UUID) des Umschlags. +/// Eine optionale Nachricht, die mit dem Umschlag verknüpft ist. +/// Das Datum und die Uhrzeit, wann der Umschlag hinzugefügt wurde. +/// Das Datum und die Uhrzeit, wann der Umschlag zuletzt geändert wurde (falls vorhanden). +/// Ein optionaler Titel des Umschlags. +/// Die Sprache, die mit dem Umschlag verknüpft ist. +/// Gibt an, ob die Zwei-Faktor-Authentifizierung (TFA) aktiviert ist. +/// Das Benutzerobjekt, das mit dem Umschlag verknüpft ist. +public record ReadEnvelopeResponse( + int Id, + int UserId, + int Status, + string Uuid, + string? Message, + DateTime AddedWhen, + DateTime? ChangedWhen, + string? Title, + string Language, + bool TFAEnabled, + DigitalData.UserManager.Domain.Entities.User User) { + /// + /// Gibt den Namen des Status zurück, der dem numerischen Statuswert entspricht. + /// public string StatusName => ((Constants.EnvelopeStatus)Status).ToString(); } diff --git a/EnvelopeGenerator.Application/Receivers/Queries/Read/ReadReceiverQuery.cs b/EnvelopeGenerator.Application/Receivers/Queries/Read/ReadReceiverQuery.cs index a93bf137..4e62b083 100644 --- a/EnvelopeGenerator.Application/Receivers/Queries/Read/ReadReceiverQuery.cs +++ b/EnvelopeGenerator.Application/Receivers/Queries/Read/ReadReceiverQuery.cs @@ -1,5 +1,10 @@ namespace EnvelopeGenerator.Application.Receivers.Queries.Read; +/// +/// Stellt eine Abfrage dar, um die Details eines Empfängers zu lesen. +/// Diese Abfrage erbt von und wird verwendet, +/// um spezifische Informationen über einen Empfänger abzurufen. +/// public record ReadReceiverQuery : ReceiverQuery { } diff --git a/EnvelopeGenerator.Application/Receivers/Queries/Read/ReadReceiverResponse.cs b/EnvelopeGenerator.Application/Receivers/Queries/Read/ReadReceiverResponse.cs index 2517fef3..10eb1b87 100644 --- a/EnvelopeGenerator.Application/Receivers/Queries/Read/ReadReceiverResponse.cs +++ b/EnvelopeGenerator.Application/Receivers/Queries/Read/ReadReceiverResponse.cs @@ -1,5 +1,12 @@ namespace EnvelopeGenerator.Application.Receivers.Queries.Read; +/// +/// Repräsentiert die Antwort auf eine Abfrage, um einen Empfänger zu lesen. +/// +/// Die eindeutige Identifikationsnummer des Empfängers. +/// Die E-Mail-Adresse des Empfängers. +/// Das Datum und die Uhrzeit, wann der Empfänger hinzugefügt wurde. +/// Die Signatur des Empfängers. public record ReadReceiverResponse(int Id, string EmailAddress, DateTime AddedWhen, string Signature) { }