You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CreateRequestHandler.cs 1.1KB

1234567891011121314151617181920212223242526272829303132
  1. using AutoMapper;
  2. using Diligent.WebAPI.Business.Services;
  3. using Diligent.WebAPI.Host.Mediator.Request.Commands;
  4. using MediatR;
  5. namespace Diligent.WebAPI.Host.Mediator.Request.Handlers
  6. {
  7. public class CreateRequestHandler : IRequestHandler<CreateRequestCommand, Data.Entities.Request>
  8. {
  9. private readonly IMapper _mapper;
  10. private readonly RequestService _requestService;
  11. public CreateRequestHandler(IMapper mapper,RequestService requestService)
  12. {
  13. _mapper = mapper;
  14. _requestService = requestService;
  15. }
  16. public async Task<Data.Entities.Request> Handle(CreateRequestCommand request, CancellationToken cancellationToken)
  17. {
  18. var req = request.Request;
  19. if (req == null)
  20. throw new BadHttpRequestException("Resource object cannot be null.");
  21. var createdRequest = _mapper.Map<Data.Entities.Request>(req);
  22. await _requestService.CreateRequestAsync(createdRequest);
  23. return createdRequest;
  24. }
  25. }
  26. }