protected virtual RequestBuilder BuildRequest(string root) { var builder = new RequestBuilder(root). AddElement("folio-number", FolioNumber). AddElement("check-in-date", CheckInDate). AddElement("check-out-date", CheckOutDate). AddElement("travel-package", TravelPackage). AddElement("departure-date", DepartureDate). AddElement("lodging-check-in-date", LodgingCheckInDate). AddElement("lodging-check-out-date", LodgingCheckOutDate). AddElement("lodging-name", LodgingName). AddElement("passenger-first-name", PassengerFirstName). AddElement("passenger-last-name", PassengerLastName). AddElement("passenger-middle-initial", PassengerMiddleInitial). AddElement("passenger-title", PassengerTitle). AddElement("travel-agency-name", TravelAgencyName). AddElement("travel-agency-code", TravelAgencyCode). AddElement("ticket-number", TicketNumber). AddElement("issuing-carrier-code", IssuingCarrierCode). AddElement("customer-code", CustomerCode). AddElement("property-phone", PropertyPhone); if (RoomRate != null) { builder.AddElement("room-rate", RoomRate.ToString()); } if (RoomTax != null) { builder.AddElement("room-tax", RoomTax.ToString()); } if (IssuedDate != null) { builder.AddElement("issued-date", IssuedDate); } if (FareAmount != null) { builder.AddElement("fare-amount", FareAmount); } if (FeeAmount != null) { builder.AddElement("fee-amount", FeeAmount); } if (TaxAmount != null) { builder.AddElement("tax-amount", TaxAmount); } if (RestrictedTicket != null) { builder.AddElement("restricted-ticket", RestrictedTicket); } if (NoShow != null) { builder.AddElement("no-show", NoShow); } if (AdvancedDeposit != null) { builder.AddElement("advanced-deposit", AdvancedDeposit); } if (FireSafe != null) { builder.AddElement("fire-safe", FireSafe); } if (Legs != null) { builder.AddElement("legs", Legs); } if (AdditionalCharges != null) { builder.AddElement("additional-charges", AdditionalCharges); } return(builder); }
public static void MapResponseToDB(HotelBedsIntegration.Models.Hotels value, string SessionID) { try { HotelBedEntities db = new HotelBedEntities(); foreach (var item in value.hotels) { SearchHotelData searchHotel = new SearchHotelData(); searchHotel.CategoryCode = item.categoryCode; searchHotel.CategoryName = item.categoryName; searchHotel.checkIn = value.checkIn; searchHotel.checkOut = value.checkOut; searchHotel.Code = item.code; searchHotel.currency = item.currency; searchHotel.destinationCode = item.destinationCode; searchHotel.DestinationName = item.destinationName; searchHotel.latitude = item.latitude; searchHotel.longitude = item.longitude; searchHotel.maxRate = item.maxRate; searchHotel.minRate = item.minRate; searchHotel.Name = item.name; searchHotel.SessionID = SessionID; searchHotel.total = value.total.ToString(); searchHotel.ZoneCode = item.zoneCode.ToString(); searchHotel.ZoneName = item.zoneName; searchHotel.Request = Newtonsoft.Json.JsonConvert.SerializeObject(value); db.SearchHotelDatas.Add(searchHotel); db.SaveChanges(); foreach (var room in item.rooms) { foreach (var rate in room.rates) { SearchRoom searchRoom = new SearchRoom(); searchRoom.adults = rate.adults; searchRoom.allotment = rate.allotment; searchRoom.boardCode = rate.boardCode; searchRoom.boardName = rate.boardName; searchRoom.children = rate.children; searchRoom.childrenAges = rate.childrenAges; searchRoom.hotelMandatory = rate.hotelMandatory.ToString(); searchRoom.netPrice = rate.net; searchRoom.packaging = rate.packaging.ToString(); searchRoom.paymentType = rate.paymentType; searchRoom.rateClass = rate.rateClass; searchRoom.rateKey = rate.rateKey; searchRoom.rateType = rate.rateType; searchRoom.ResponseType = "search"; searchRoom.RoomCode = room.code; searchRoom.RoomName = room.name; searchRoom.rooms = rate.rooms; searchRoom.SearchHotelID = searchHotel.Id; searchRoom.sessionID = SessionID; searchRoom.sellingRate = rate.sellingRate; db.SearchRooms.Add(searchRoom); db.SaveChanges(); foreach (var tax in rate.taxes.taxes) { RoomTax roomTax = new RoomTax(); roomTax.amount = tax.amount; roomTax.Currency = tax.currency; roomTax.RoomId = searchRoom.Id; roomTax.included = tax.included.ToString(); db.RoomTaxes.Add(roomTax); } foreach (var policy in rate.cancellationPolicies) { RoomPolicy roomPol = new RoomPolicy(); roomPol.amount = policy.amount; roomPol.CallingType = "Search"; roomPol.Currency = searchHotel.currency; roomPol.fromDate = policy.from.ToString(); roomPol.RoomID = searchRoom.Id; } db.SaveChanges(); } } } } catch (Exception ex) { var requestData = JsonConvert.SerializeObject(ex); LogData.WriteToFile("c:/HotelsB2C/Logs/HBLogs/SearchException", "SearchException_" + SessionID, "SearchException", requestData); } }