public toBookingRQ ( ) : |
||
return |
public BookingRQ toBookingRQ()
{
BookingRQ bookingRQ = new BookingRQ();
bookingRQ.holder = this.holder;
bookingRQ.clientReference = this.clientReference;
bookingRQ.remark = this.remark;
if ( !String.IsNullOrEmpty(cardType) && !String.IsNullOrEmpty(cardNumber) && !String.IsNullOrEmpty(cardHolderName) && !String.IsNullOrEmpty(expiryDate) && cardCVC != null ||
!String.IsNullOrEmpty(email) && !String.IsNullOrEmpty(phoneNumber))
{
PaymentData paymentData = new PaymentData();
if ( !String.IsNullOrEmpty(cardType) && !String.IsNullOrEmpty(cardNumber) && !String.IsNullOrEmpty(cardHolderName) && !String.IsNullOrEmpty(expiryDate) && !String.IsNullOrEmpty(cardCVC))
paymentData.paymentCard = new PaymentCard() { cardType = cardType, cardNumber = cardNumber, cardHolderName = cardHolderName, expiryDate = expiryDate, cardCVC = cardCVC };
if (!String.IsNullOrEmpty(email) && !String.IsNullOrEmpty(phoneNumber))
paymentData.contactData = new PaymentContactData() { email = email, phoneNumber = phoneNumber };
bookingRQ.paymentData = paymentData;
}
for(int i = 0; i < rooms.Count; i++)
{
BookingRoom room = new BookingRoom();
room.rateKey = rooms[i].rateKey;
room.paxes = new List<Pax>();
for(int p = 0; p < rooms[i].details.Count; p++)
{
Pax pax = new Pax();
pax.type = (rooms[i].details[p].getType() == RoomDetail.GuestType.ADULT) ? SimpleTypes.HotelbedsCustomerType.AD : SimpleTypes.HotelbedsCustomerType.CH;
pax.age = rooms[i].details[p].getAge();
pax.name = rooms[i].details[p].getName();
pax.surname = rooms[i].details[p].getSurname();
pax.roomId = rooms[i].details[p].getRoomId();
room.paxes.Add(pax);
}
bookingRQ.rooms.Add(room);
}
bookingRQ.Validate();
return bookingRQ;
}
public ActionResult Index(FormCollection form,SearchCriteriaViewModel searchcriteria ) { try { string[] type = form["pas.type"].Split(','); string[] age = form["pas.age"].Split(','); string[] name = form["pas.name"].Split(','); string[] surname = form["pas.surname"].Split(','); string[] roomId = form["pas.roomId"].Split(','); HotelApiClient client = new HotelApiClient(); ConfirmRoom confirmRoom = new ConfirmRoom(); confirmRoom.details = new List<RoomDetail>(); for (int i = 0; i < type.Count(); i++) confirmRoom.details.Add(new RoomDetail((com.hotelbeds.distribution.hotel_api_sdk.helpers.RoomDetail.GuestType)Enum.Parse(typeof(com.hotelbeds.distribution.hotel_api_sdk.helpers.RoomDetail.GuestType), type[i]), int.Parse(age[i]), name[i], surname[i], int.Parse(roomId[i]))); string rateKey = (string)Session["ratekey"]; BookingCheck bookingCheck = new BookingCheck(); bookingCheck.addRoom(rateKey, confirmRoom); CheckRateRQ checkRateRQ = bookingCheck.toCheckRateRQ(); if (checkRateRQ != null) { CheckRateRS responseRate = client.doCheck(checkRateRQ); if (responseRate != null && responseRate.error == null) { com.hotelbeds.distribution.hotel_api_sdk.helpers.Booking booking = new com.hotelbeds.distribution.hotel_api_sdk.helpers.Booking(); booking.createHolder("Rosetta", "Pruebas"); booking.clientReference = "SDK Test"; booking.remark = "***SDK***TESTING"; booking.addRoom(rateKey, confirmRoom); BookingRQ bookingRQ = booking.toBookingRQ(); if (bookingRQ != null) { BookingRS responseBooking = client.confirm(bookingRQ); if (responseBooking != null && responseBooking.error == null && responseBooking.booking != null) ViewBag.BookingRef = responseBooking.booking.reference; } else { if (responseRate.error != null) { ViewBag.Error = responseRate.error.message; } } } } return View(searchcriteria); } catch (Exception exp) { return Content(exp.Message); } }