using AutoMapper; using EnvelopeGenerator.Application.Interfaces.SQLExecutor; using EnvelopeGenerator.Application.Dto; using MediatR; namespace EnvelopeGenerator.Application.Envelopes.Commands; /// /// /// public class CreateEnvelopeCommandHandler : IRequestHandler { private readonly IEnvelopeExecutor _envelopeExecutor; private readonly IMapper _mapper; /// /// /// /// /// public CreateEnvelopeCommandHandler(IEnvelopeExecutor envelopeExecutor, IMapper mapper) { _envelopeExecutor = envelopeExecutor; _mapper = mapper; } /// /// /// /// /// /// public async Task Handle(CreateEnvelopeCommand request, CancellationToken cancellationToken) { var envelope = await _envelopeExecutor.CreateEnvelopeAsync(request.UserId, request.Title, request.Message, request.TFAEnabled, cancellationToken); return _mapper.Map(envelope); } }