using AutoMapper; using Diligent.WebAPI.Business.Services; using Diligent.WebAPI.Host.Mediator.Request.Commands; using MediatR; namespace Diligent.WebAPI.Host.Mediator.Request.Handlers { public class CreateRequestHandler : IRequestHandler { private readonly IMapper _mapper; private readonly RequestService _requestService; public CreateRequestHandler(IMapper mapper,RequestService requestService) { _mapper = mapper; _requestService = requestService; } public async Task Handle(CreateRequestCommand request, CancellationToken cancellationToken) { var req = request.Request; if (req == null) throw new BadHttpRequestException("Resource object cannot be null."); var createdRequest = _mapper.Map(req); await _requestService.CreateRequestAsync(createdRequest); return createdRequest; } } }