Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (apiResponse.IsSuccessStatusCode)
- {
- var apiResponseString = await apiResponse.Content.ReadAsStringAsync();
- var searchResponse = SearchResponse.FromJson(apiResponseString);
- var response = new CheckAvailabilityResponseDto
- {
- Availabilities = searchResponse.Hotels?.Select(x => new AvailabilityDto
- {
- ConnectorAccomodationId = x.Id.ToString(),
- Status = x.Status == "AVAILABLE" ?
- AvailabilityStatus.Available :
- AvailabilityStatus.NotAvailable,
- PriceQuote = x.RoomTypes?.OrderBy(p => p.Price.TotalPriceWithHotelFees.Value).Select(r =>
- new Extensibility.Dtos.Accomodation.PriceQuote
- {
- Amount = Convert.ToDouble(r.Price.TotalPriceWithHotelFees.Value, CultureInfo.InvariantCulture),
- CurrencyUnits = r.Price.TotalPriceWithHotelFees.Currency,
- NotDiscountedValue = Convert.ToInt32(r.Price.BaseRate.Value) + Convert.ToInt32(r.Price.TaxesAndFees.Value),
- IsDiscounted = Convert.ToInt32(r.Price.TotalPriceWithHotelFees.Value) != Convert.ToInt32(r.Price.BaseRate.Value) + Convert.ToInt32(r.Price.TaxesAndFees.Value) ? true : false,
- NumberOfRoomsLeft = Convert.ToInt32(r.RatePlans.FirstOrDefault() == null ? 0 : r.RatePlans.FirstOrDefault().RemainingCount),
- BreakfastIncluded = r.RatePlans.Find(k => k.FreeBreakfast == true).FreeBreakfast ? true : false
- }).FirstOrDefault() ?? new Extensibility.Dtos.Accomodation.PriceQuote(),
- UrlsLocalized = this.GetUrlsLocalized(dataDict[x.Id.ToString()], request)
- }).ToList() ?? new List<AvailabilityDto>(),
- }; //createCheckAvailabilityResponse(apiResponseString, request);
- this.AvailabilityFound?.Invoke(this, response.Availabilities);
- return response;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement