using AutoMapper; using Diligent.WebAPI.Business.Services; using Diligent.WebAPI.Data.Entities; using Diligent.WebAPI.Host.DTOs.Request; using Diligent.WebAPI.Host.Mediator.Request.Queries; using MediatR; namespace Diligent.WebAPI.Host.Mediator.Request.Handlers { public class GetRoomsForWhichRequestExistHandler : IRequestHandler> { private readonly RequestService _requestService; private readonly RoomService _roomService; private readonly IMapper _mapper; public GetRoomsForWhichRequestExistHandler(RequestService requestService,RoomService roomService,IMapper mapper) { _requestService = requestService; _roomService = roomService; _mapper = mapper; } public async Task> Handle(GetRoomsForWhichRequestExistQuery request, CancellationToken cancellationToken) { var requests = await _requestService.GetRequestsAsync(); var rooms = await _roomService.GetRoomsAsync(); List temp = new(); foreach (var req in requests) { foreach (var room in rooms) { if (req.RoomId == room.Id) { if (!temp.Contains(room)) { temp.Add(room); } } } } return _mapper.Map>(temp); } } }