From 7871bf72f6e10fdc952677f5ceebff4ecc0bd3cb Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Thu, 3 Apr 2025 17:48:49 +0200 Subject: [PATCH] Add CreateEnvelope command and DTO for envelope creation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Führt den `CreateEnvelopeCommand` Datensatz und seinen Handler ein, der die `IRequest` Schnittstelle von MediatR implementiert. Der Handler wirft derzeit eine `NotImplementedException`. Fügt die Klasse „EnvelopeCreateDto“ mit Eigenschaften für Titel, Nachricht, Sprache, Verfallsdaten, Vertragstyp und TFA-Flag hinzu. Erforderliche Felder werden mit Datenanmerkungen validiert, und für bestimmte Eigenschaften werden Standardwerte festgelegt. --- .../Envelope/Commands/CreateEnvelope.cs | 13 +++++++++++ .../Envelope/Commands/EnvelopeCreateDto.cs | 23 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 EnvelopeGenerator.Application/Envelope/Commands/CreateEnvelope.cs create mode 100644 EnvelopeGenerator.Application/Envelope/Commands/EnvelopeCreateDto.cs diff --git a/EnvelopeGenerator.Application/Envelope/Commands/CreateEnvelope.cs b/EnvelopeGenerator.Application/Envelope/Commands/CreateEnvelope.cs new file mode 100644 index 00000000..8dafdc01 --- /dev/null +++ b/EnvelopeGenerator.Application/Envelope/Commands/CreateEnvelope.cs @@ -0,0 +1,13 @@ +using MediatR; + +namespace EnvelopeGenerator.Application.Envelope.Commands; + +public record CreateEnvelopeCommand(EnvelopeCreateDto Envelope) : IRequest; + +public class CreateEnvelopeCommandHandler : IRequestHandler +{ + public Task Handle(CreateEnvelopeCommand request, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } +} diff --git a/EnvelopeGenerator.Application/Envelope/Commands/EnvelopeCreateDto.cs b/EnvelopeGenerator.Application/Envelope/Commands/EnvelopeCreateDto.cs new file mode 100644 index 00000000..80176ad6 --- /dev/null +++ b/EnvelopeGenerator.Application/Envelope/Commands/EnvelopeCreateDto.cs @@ -0,0 +1,23 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace EnvelopeGenerator.Application.Envelope.Commands; + +public class EnvelopeCreateDto +{ + [Required] + public required string Title { get; init; } + + [Required] + public required string Message { get; init; } + + public string Language { get; init; } = "de-DE"; + + public DateTime? ExpiresWhen { get; init; } + + public DateTime? ExpiresWarningWhen { get; init; } + + public int? ContractType { get; init; } = (int)Common.Constants.ContractType.Contract; + + public bool TFAEnabled { get; init; } = false; +}