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); }
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)); }
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); }