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);
        }
示例#2
0
        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);
            }
        }