示例#1
0
        public SellKeyList FillingSSr(DoAirPriceRequest request)
        {
            SellKeyList Sellkey = new SellKeyList();

            Sellkey.PaxSSRList = new List <PaxSSRList>();
            PaxSSRList paxinfo = new PaxSSRList();

            int INF = 0;

            foreach (var item in request.Paxs)
            {
                switch (item.PaxType)
                {
                case "INF":
                    INF = item.Quantity;
                    break;
                }
            }

            for (int i = 0; i < INF; i++)
            {
                paxinfo = PaxCreation("INFT", i);
                Sellkey.PaxSSRList.Add(paxinfo);
            }

            return(Sellkey);
        }
示例#2
0
        public static Journey CreateJourney(SellKeyList sellKeyList)
        {
            var journey  = new Journey();
            var segments = new List <Segment>();

            string[] segmentSellKeys = GetSegmentSellKeys(sellKeyList.JourneySellKey);
            if ((segmentSellKeys != null) && (segmentSellKeys.Length > 0))
            {
                for (int i = 0; i < segmentSellKeys.Length; i++)
                {
                    var      key      = segmentSellKeys[i];
                    string[] strArray = segmentSellKeys[i].Split('~');
                    var      segment  = new Segment();
                    segment.ArrivalStation   = strArray[6];
                    segment.DepartureStation = strArray[4];
                    segment.FlightDesignator = new FlightDesignator
                    {
                        CarrierCode  = strArray[0],
                        FlightNumber = strArray[1],
                        OpSuffix     = strArray[2]
                    };
                    segment.STD = DateTime.ParseExact(strArray[5], "g", CultureInfo.InvariantCulture);
                    segment.STA = DateTime.ParseExact(strArray[7], "g", CultureInfo.InvariantCulture);
                    segments.Add(segment);
                }
            }
            journey.Segments = segments.ToArray();
            return(journey);
        }
        public async Task <IActionResult> SellJourneys([FromBody] string[] journeyFareSellKeys)
        {
            var signature      = string.Empty;
            var sessionManager = new SessionManagerClient();
            var logonResponse  = await sessionManager.LogonAsync(new LogonRequest
            {
                logonRequestData = new LogonRequestData
                {
                    DomainCode = "DEF",
                    AgentName  = "sculthorpe070884",
                    Password   = "******"
                }
            });

            var client      = new BookingManagerClient();
            var sellKeyList = new SellKeyList[journeyFareSellKeys.Length];

            for (var i = 0; i < journeyFareSellKeys.Length; i++)
            {
                var split = journeyFareSellKeys[i].Split('|');
                sellKeyList[i] = new SellKeyList
                {
                    JourneySellKey = split[0],
                    FareSellKey    = split[1]
                };
            }

            var sellRequestData = new SellRequestData
            {
                SellBy = SellBy.JourneyBySellKey,
                SellJourneyByKeyRequest = new SellJourneyByKeyRequest
                {
                    SellJourneyByKeyRequestData = new SellJourneyByKeyRequestData
                    {
                        ActionStatusCode = "NN",
                        CurrencyCode     = "SAR",
                        JourneySellKeys  = sellKeyList,
                        PaxCount         = 1,
                        PaxPriceType     = new PaxPriceType[] { new PaxPriceType {
                                                                    PaxCount = 1, PaxType = "ADT"
                                                                } }
                    }
                }
            };
            var response = await client.SellAsync(348, false, "3.4.13", logonResponse.Signature, sellRequestData);

            return(new OkObjectResult(response));
        }
示例#4
0
        public static void GetPriceReturn(string signature, GetAvailabilityResponse response, string noofPassenger)
        {
            IBookingManager bookingManager = new BookingManagerClient();
            DataTable       flights        = Table_Flights();
            DataTable       fare           = Table_Fare();

            foreach (JourneyDateMarket[] jdmArray in response.GetTripAvailabilityResponse.Schedules)
            {
                foreach (JourneyDateMarket jdm in jdmArray)
                {
                    foreach (Journey journey in jdm.Journeys)
                    {
                        PriceItineraryRequest pir = new PriceItineraryRequest();
                        ItineraryPriceRequest ipr = new ItineraryPriceRequest();
                        ipr.PriceItineraryBy = PriceItineraryBy.JourneyBySellKey;
                        ipr.SellByKeyRequest = new SellJourneyByKeyRequestData();
                        ipr.SellByKeyRequest.ActionStatusCode = "NN";
                        SellKeyList[] list = new SellKeyList[1];
                        list[0] = new SellKeyList();

                        list[0].JourneySellKey = journey.JourneySellKey;
                        foreach (Segment segment in journey.Segments)
                        {
                            DataRow dr = flights.NewRow();
                            if (segment.Fares.Length > 0)
                            {
                                list[0].FareSellKey = segment.Fares[0].FareSellKey;
                                dr["ShortDate"]     = segment.STD.ToString("ddd MMM d yyyy");
                                dr["Date"]          = segment.STD.ToShortDateString();
                                dr["From"]          = segment.DepartureStation;
                                dr["To"]            = segment.ArrivalStation;
                                dr["FlightNo"]      = segment.FlightDesignator.FlightNumber;
                                dr["STD"]           = segment.STD.ToString("dd/MM/yyy hh:mm tt");
                                dr["STA"]           = segment.STA.ToString("dd/MM/yyy hh:mm tt");
                                dr["BaseFare"]      = segment.Fares[0].PaxFares[0].ServiceCharges[0].Amount;
                                dr["TimeDuration"]  = TimeDuration(segment.STD.ToString(), segment.STA.ToString());
                                flights.Rows.Add(dr);
                            }
                        }

                        ipr.SellByKeyRequest.JourneySellKeys = list;
                        int pax = Convert.ToInt16(noofPassenger);//+ Convert.ToInt16(page.child);
                        ipr.SellByKeyRequest.PaxCount = Convert.ToSByte(pax);
                        PaxPriceType[] priceTypes = new PaxPriceType[ipr.SellByKeyRequest.PaxCount];
                        for (int i = 0; i < ipr.SellByKeyRequest.PaxCount; i++)
                        {
                            priceTypes[i]                 = new PaxPriceType();
                            priceTypes[i].PaxType         = "ADT";
                            priceTypes[i].PaxDiscountCode = string.Empty;
                        }
                        ipr.SellByKeyRequest.PaxPriceType          = priceTypes;
                        ipr.SellByKeyRequest.CurrencyCode          = "INR";
                        ipr.SellByKeyRequest.LoyaltyFilter         = LoyaltyFilter.MonetaryOnly;
                        ipr.SellByKeyRequest.IsAllotmentMarketFare = false;
                        pir.ItineraryPriceRequest = ipr;
                        pir.Signature             = signature;
                        PriceItineraryResponse pire = bookingManager.GetItineraryPrice(pir);
                        foreach (Journey j in pire.Booking.Journeys)
                        {
                            foreach (Segment segment in j.Segments)
                            {
                                foreach (BookingServiceCharge bsc in segment.Fares[0].PaxFares[0].ServiceCharges)
                                {
                                    DataRow drr = fare.NewRow();
                                    drr["FlightNo"] = segment.FlightDesignator.FlightNumber;
                                    drr["Heads"]    = bsc.ChargeType.ToString() + bsc.ChargeCode.ToString();
                                    drr["Amount"]   = bsc.Amount;
                                    fare.Rows.Add(drr);
                                }
                            }
                        }
                    }
                }
            }
            foreach (DataRow dr in flights.Rows)
            {
                dr["TotalFare"] = TotalFare(fare, dr["FlightNo"].ToString()) * (Convert.ToDouble(noofPassenger.ToString()));
            }
            HttpContext.Current.Session["Rflights"] = flights;
            HttpContext.Current.Session["Rfare"]    = fare;
            Logout(signature);
        }