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.

RejectCustomerRequestHandler.cs 1.0KB

1234567891011121314151617181920212223242526272829303132
  1. using Diligent.WebAPI.Business.Interfaces;
  2. using Diligent.WebAPI.Business.Services;
  3. using Diligent.WebAPI.Host.Exceptions;
  4. using Diligent.WebAPI.Host.Mediator.Request.Commands;
  5. using MediatR;
  6. namespace Diligent.WebAPI.Host.Mediator.Request.Handlers
  7. {
  8. public class RejectCustomerRequestHandler : IRequestHandler<RejectCustomerRequestCommand, string?>
  9. {
  10. private readonly IRequestRepository _requestService;
  11. public RejectCustomerRequestHandler(IRequestRepository requestService)
  12. {
  13. _requestService = requestService;
  14. }
  15. public async Task<string?> Handle(RejectCustomerRequestCommand request, CancellationToken cancellationToken)
  16. {
  17. var req = await _requestService.FindRequestAsync(request.CustomerId, request.RoomId);
  18. if(req == null)
  19. {
  20. throw new NotFoundException("Request are not found");
  21. }
  22. await _requestService.RemoveAsync(req.Id);
  23. return req.Id;
  24. }
  25. }
  26. }