diff --git a/EnvelopeGenerator.Application/Receivers/Commands/CreateReceiverCommand.cs b/EnvelopeGenerator.Application/Receivers/Commands/CreateReceiverCommand.cs index cd8a1198..aa241bcf 100644 --- a/EnvelopeGenerator.Application/Receivers/Commands/CreateReceiverCommand.cs +++ b/EnvelopeGenerator.Application/Receivers/Commands/CreateReceiverCommand.cs @@ -1,4 +1,7 @@ -using Microsoft.AspNetCore.Mvc; +using DigitalData.Core.Abstraction.Application.Repository; +using EnvelopeGenerator.Domain.Entities; +using MediatR; +using Microsoft.AspNetCore.Mvc; using System.ComponentModel.DataAnnotations; using System.Security.Cryptography; using System.Text; @@ -9,7 +12,7 @@ namespace EnvelopeGenerator.Application.Receivers.Commands; /// /// [ApiExplorerSettings(IgnoreApi = true)] -public record CreateReceiverCommand +public record CreateReceiverCommand : IRequest { /// /// @@ -43,4 +46,36 @@ public record CreateReceiverCommand /// Default value is DateTime.Now /// public DateTime AddedWhen { get; } = DateTime.Now; -}; \ No newline at end of file +}; + +/// +/// +/// +public class CreateReceiverCommandHandler : IRequestHandler +{ + /// + /// + /// + private readonly IRepository _repo; + + /// + /// + /// + /// + public CreateReceiverCommandHandler(IRepository repo) + { + _repo = repo; + } + + /// + /// + /// + /// + /// + /// + public async Task Handle(CreateReceiverCommand request, CancellationToken cancel) + { + Receiver receiver = await _repo.CreateAsync(request, cancel); + return receiver.Id; + } +} \ No newline at end of file