public async Task <IActionResult> GetMyPropertiesBookings() { var properties = await _propertiesService.GetAllPropertiesAsync(new GetAllPropertiesFilter { UserId = _userResolverService.GetUserId() }); var list = new List <BookingsListElement>(); foreach (var property in properties) { var bookings = await _bookingsService.GetAllBookingsAsync(new GetAllBookingsFilter { PropertyId = property.Id }); var city = await _citiesService.GetCityByIdAsync(property.CityId); foreach (var booking in bookings) { var element = new BookingsListElement { Id = booking.Id, BookingState = booking.BookingState, CancellationDate = booking.CancellationDate, CheckInDate = booking.CheckInDate, CheckOutDate = booking.CheckOutDate, PricePerNight = booking.PricePerNight, PropertyId = property.Id, PropertyName = property.Name, TotalPrice = booking.TotalPrice, City = city.Name, Address = property.Address }; list.Add(element); } } return(Ok(list)); }
public async Task <IActionResult> GetMyBookings() { var bookings = await _bookingsService.GetAllBookingsAsync(new GetAllBookingsFilter { UserId = _userResolverService.GetUserId() }); var list = new List <BookingsListElement>(); foreach (var booking in bookings) { var property = await _propertiesService.GetPropertyByIdAsync(booking.PropertyId); var city = await _citiesService.GetCityByIdAsync(property.CityId); var propertyImage = await _propertyImagesService.GetAllAsync(property.Id); var element = new BookingsListElement { AccommodatesNumber = property.AccommodatesNumber, Id = booking.Id, Address = property.Address, BathroomNumber = property.BathroomNumber, BedroomNumber = property.BedroomNumber, BookingState = booking.BookingState, CancellationDate = booking.CancellationDate, CheckInDate = booking.CheckInDate, CheckOutDate = booking.CheckOutDate, City = city.Name, Description = property.Description, ImageUrl = propertyImage.FirstOrDefault().Image, PricePerNight = booking.PricePerNight, PropertyId = property.Id, PropertyName = property.Name, TotalPrice = booking.TotalPrice }; list.Add(element); } return(Ok(list)); }