public async Task <IActionResult> GetRooms() { var rooms = await _context.Rooms .Include(r => r.Photos) .Include(r => r.RoomAddress) .Include(r => r.RoomEquipments) .ThenInclude(re => re.Equipment).ToListAsync(); var roomsForReturn = new List <RoomForReturnListOfRoomsDto>(); foreach (var room in rooms) { var address = new RoomAddressForReturnDto { Id = room.RoomAddress.Id, ApartmentNumber = room.RoomAddress.ApartmentNumber, BuildingNumber = room.RoomAddress.BuildingNumber, City = room.RoomAddress.City, Country = room.RoomAddress.Country, PostalCode = room.RoomAddress.PostalCode, Street = room.RoomAddress.Street }; var roomForReturn = new RoomForReturnListOfRoomsDto { Id = room.Id, Name = room.Name, Rating = room.Rating, Price = room.Price, Area = room.Area, Capacity = room.Capacity, MainPhotoUrl = room.Photos.FirstOrDefault(p => p.IsMain)?.PhotoUrl, RoomAddress = address, Customer = room.Customer }; var equipments = room.RoomEquipments.Select(re => re.Equipment); foreach (var equipment in equipments) { var equipmentForReturn = new EquipmentForReturnDto { Id = equipment.Id, Name = equipment.Name }; roomForReturn.Equipments.Add(equipmentForReturn); } roomsForReturn.Add(roomForReturn); } return(Ok(roomsForReturn)); }
public async Task <IActionResult> GetEquipments() { var equipments = await _context.Equipments.ToListAsync(); var equipmentsForReturn = new List <EquipmentForReturnDto>(); foreach (var equipment in equipments) { var equipmentForReturn = new EquipmentForReturnDto { Id = equipment.Id, Name = equipment.Name }; equipmentsForReturn.Add(equipmentForReturn); } return(Ok(equipmentsForReturn)); }