Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

CreateRequestHandler.cs 1.1KB

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