Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

GetRoomsForWhichRequestExistHandler.cs 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using AutoMapper;
  2. using Diligent.WebAPI.Business.Interfaces;
  3. using Diligent.WebAPI.Data.Entities;
  4. using Diligent.WebAPI.Host.DTOs.Request;
  5. using Diligent.WebAPI.Host.Mediator.Request.Queries;
  6. using MediatR;
  7. namespace Diligent.WebAPI.Host.Mediator.Request.Handlers
  8. {
  9. public class GetRoomsForWhichRequestExistHandler : IRequestHandler<GetRoomsForWhichRequestExistQuery, List<RequestRoomReadDTO>>
  10. {
  11. private readonly IRequestRepository _requestService;
  12. private readonly IRoomRepository _roomRepository;
  13. private readonly IMapper _mapper;
  14. public GetRoomsForWhichRequestExistHandler(IRequestRepository requestService, IMapper mapper, IRoomRepository roomRepository)
  15. {
  16. _requestService = requestService;
  17. _mapper = mapper;
  18. _roomRepository = roomRepository;
  19. }
  20. public async Task<List<RequestRoomReadDTO>> Handle(GetRoomsForWhichRequestExistQuery request, CancellationToken cancellationToken)
  21. {
  22. var requests = await _requestService.GetAsync();
  23. var rooms = await _roomRepository.GetAsync();
  24. List<Room> temp = new();
  25. foreach (var req in requests)
  26. {
  27. foreach (var room in rooms)
  28. {
  29. if (req.RoomId == room.Id)
  30. {
  31. if (!temp.Contains(room))
  32. {
  33. temp.Add(room);
  34. }
  35. }
  36. }
  37. }
  38. return _mapper.Map<List<RequestRoomReadDTO>>(temp);
  39. }
  40. }
  41. }