From 629c0d51b2de1356ac24fdca5436f621d7606488 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Wed, 7 May 2025 17:00:26 +0200 Subject: [PATCH] Enhance email template handling and documentation - Added XML documentation to the `Handle` method in `UpdateEmailTemplateCommandHandler`. - Improved readability in `ReadEmailTemplateQueryHandler` by storing the mapped response in a variable. - Updated properties in `ReadEmailTemplateResponse` to be mutable and renamed `Type` to `Name` with a type change from `int` to `string`. - Added data annotations in `EmailTemplate` for `AddedWhen` and introduced a new nullable `ChangedWhen` property. - Included necessary using directives for data annotations in `EmailTemplate.cs`. --- .../Commands/Update/UpdateEmailTemplateCommandHandler.cs | 8 ++++++++ .../Queries/Read/ReadEmailTemplateQueryHandler.cs | 4 +++- .../Queries/Read/ReadEmailTemplateResponse.cs | 8 ++++---- EnvelopeGenerator.Domain/Entities/EmailTemplate.cs | 9 +++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/EnvelopeGenerator.Application/EmailTemplates/Commands/Update/UpdateEmailTemplateCommandHandler.cs b/EnvelopeGenerator.Application/EmailTemplates/Commands/Update/UpdateEmailTemplateCommandHandler.cs index 3d1462e9..09803a6c 100644 --- a/EnvelopeGenerator.Application/EmailTemplates/Commands/Update/UpdateEmailTemplateCommandHandler.cs +++ b/EnvelopeGenerator.Application/EmailTemplates/Commands/Update/UpdateEmailTemplateCommandHandler.cs @@ -24,6 +24,14 @@ public class UpdateEmailTemplateCommandHandler : IRequestHandler + /// + /// + /// + /// + /// + /// + /// public async Task Handle(UpdateEmailTemplateCommand request, CancellationToken cancel) { var temp = (request.EmailTemplateQuery?.Id is int id diff --git a/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateQueryHandler.cs b/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateQueryHandler.cs index 13d6aa73..6059ec33 100644 --- a/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateQueryHandler.cs +++ b/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateQueryHandler.cs @@ -45,6 +45,8 @@ public class ReadEmailTemplateQueryHandler : IRequestHandler(temp); + var res = _mapper.Map(temp); + + return res; } } diff --git a/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateResponse.cs b/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateResponse.cs index 7616411d..df68fa94 100644 --- a/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateResponse.cs +++ b/EnvelopeGenerator.Application/EmailTemplates/Queries/Read/ReadEmailTemplateResponse.cs @@ -8,17 +8,17 @@ public class ReadEmailTemplateResponse /// /// Die eindeutige Kennung der E-Mail-Vorlage. /// - public int Id { get; init; } + public int Id { get; set; } /// - /// Der Typ der E-Mail-Vorlage. + /// Name des Typs /// - public int Type { get; init; } + public required string Name { get; set; } /// /// Das Datum und die Uhrzeit, wann die Vorlage hinzugefügt wurde. /// - public DateTime AddedWhen { get; init; } + public DateTime AddedWhen { get; set; } /// /// Der Inhalt (Body) der E-Mail-Vorlage. Kann null sein. diff --git a/EnvelopeGenerator.Domain/Entities/EmailTemplate.cs b/EnvelopeGenerator.Domain/Entities/EmailTemplate.cs index aef2df9d..689df6b9 100644 --- a/EnvelopeGenerator.Domain/Entities/EmailTemplate.cs +++ b/EnvelopeGenerator.Domain/Entities/EmailTemplate.cs @@ -1,4 +1,5 @@ using DigitalData.Core.Abstractions; +using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; @@ -20,5 +21,13 @@ namespace EnvelopeGenerator.Domain.Entities [Column("SUBJECT", TypeName = "nvarchar(512)")] public string? Subject { get; set; } + + [Required] + [Column("ADDED_WHEN", TypeName = "datetime")] + [DefaultValue("GETDATE()")] + public DateTime AddedWhen { get; set; } + + [Column("CHANGED_WHEN", TypeName = "datetime")] + public DateTime? ChangedWhen { get; set; } } } \ No newline at end of file