Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }