| 123456789101112131415161718192021222324252627282930313233 |
- using Diligent.WebAPI.Business.Services;
- using Diligent.WebAPI.Host.Exceptions;
- using Diligent.WebAPI.Host.Mediator.Request.Commands;
- using MediatR;
-
- namespace Diligent.WebAPI.Host.Mediator.Request.Handlers
- {
- public class AcceptCustomerRequestHandler : IRequestHandler<AcceptCustomerRequestCommand, string?>
- {
- private readonly RequestService _requestService;
- private readonly RoomService _roomService;
-
- public AcceptCustomerRequestHandler(RequestService requestService,RoomService roomService)
- {
- _requestService = requestService;
- _roomService = roomService;
- }
- public async Task<string?> Handle(AcceptCustomerRequestCommand request, CancellationToken cancellationToken)
- {
- var result1 = await _roomService.AddCustomerToRoom(request.CustomerId, request.RoomId);
-
- if (!result1)
- throw new NotFoundException($"Room with id={request.RoomId} doesn't exist");
-
- var result2 = await _requestService.RemoveRequestAsync(request.CustomerId, request.RoomId);
-
- if (!result2.IsSuccess)
- throw new BadHttpRequestException("customerId or roomId is invalid");
-
- return result2.Id;
- }
- }
- }
|