com.hotelbeds.distribution.hotel_api_sdk.helpers.Booking.toBookingRQ C# (CSharp) Method

toBookingRQ() public method

public toBookingRQ ( ) : BookingRQ
return com.hotelbeds.distribution.hotel_api_model.auto.messages.BookingRQ
        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;
        }

Usage Example

        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); }
        }
All Usage Examples Of com.hotelbeds.distribution.hotel_api_sdk.helpers.Booking::toBookingRQ