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.

GetRequestHandler.cs 915B

123456789101112131415161718192021222324252627282930
  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.Queries;
  5. using MediatR;
  6. namespace Diligent.WebAPI.Host.Mediator.Request.Handlers
  7. {
  8. public class GetRequestHandler : IRequestHandler<GetRequestQuery, Data.Entities.Request>
  9. {
  10. private readonly IRequestRepository _requestService;
  11. public GetRequestHandler(IRequestRepository requestService)
  12. {
  13. _requestService = requestService;
  14. }
  15. public async Task<Data.Entities.Request> Handle(GetRequestQuery request, CancellationToken cancellationToken)
  16. {
  17. var req = await _requestService.GetByIdAsync(request.Id);
  18. if (req == null)
  19. {
  20. throw new NotFoundException("Request not found");
  21. }
  22. return req;
  23. }
  24. }
  25. }