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 async Task <IActionResult> Test() { try { var result = new List <object>(); var sessionManager = new SessionManagerClient(); var logonResponse = await sessionManager.LogonAsync(new LogonRequest { //logonRequestData = new LogonRequestData //{ // DomainCode = "WWW", // AgentName = "awdta1", // Password = "******" //} logonRequestData = new LogonRequestData { DomainCode = "DEF", AgentName = "sculthorpe070884", Password = "******" } }); result.Add(logonResponse); IBookingManager bookingManager = new BookingManagerClient(); // { var bookingResponse = await bookingManager.GetBookingAsync(new GetBookingRequest { Signature = logonResponse.Signature, GetBookingReqData = new GetBookingRequestData { GetByRecordLocator = new GetByRecordLocator { RecordLocator = "V4HSFS"/// "EWRT45" } } }); var availRequest = new AvailabilityRequest { DepartureStation = "JED", ArrivalStation = "RUH", BeginDate = new DateTime(2017, 10, 01), // BeginTime = new Time(), EndDate = new DateTime(2017, 10, 01), // EndTime = new Time(), PaxPriceTypes = new[] { new PaxPriceType { PaxType = "ADT", PaxCount = 1 } }, InboundOutbound = InboundOutbound.Both, FareClassControl = FareClassControl.CompressByProductClass, AvailabilityFilter = AvailabilityFilter.ExcludeUnavailable, AvailabilityType = AvailabilityType.Default, FareRuleFilter = FareRuleFilter.Default, PaxCount = 1, CurrencyCode = "SAR", FareTypes = new[] { "R" }, FlightType = FlightType.All, Dow = DOW.Daily, IncludeAllotments = true, IncludeTaxesAndFees = true, SSRCollectionsMode = SSRCollectionsMode.All, LoyaltyFilter = Navitaire.NewSkies.WebServices.DataContracts.Common.Enumerations.LoyaltyFilter.PointsAndMonetary, JourneySortKeys = new[] { JourneySortKey.EarliestDeparture, JourneySortKey.LowestFare }, PaxResidentCountry = "SA" }; var availResponse = await bookingManager.GetAvailabilityAsync(new GetAvailabilityRequest { Signature = logonResponse.Signature, TripAvailabilityRequest = new TripAvailabilityRequest { LoyaltyFilter = Navitaire.NewSkies.WebServices.DataContracts.Common.Enumerations.LoyaltyFilter.PointsAndMonetary, AvailabilityRequests = new[] { availRequest } } }); dto.GetAvailabilityResponse dtoAvailResponse = _mapper.Map <GetAvailabilityResponse, dto.GetAvailabilityResponse>(availResponse); result.Add(dtoAvailResponse); var GetTripAvailabilityWithSSRAsyncResp = await bookingManager.GetTripAvailabilityWithSSRAsync(new GetTripAvailabilityWithSSRRequest { TripAvailabilityWithSSRRequest = new TripAvailabilityWithSSRRequest { AvailabilityRequests = new AvailabilityRequest[] { availRequest }, LoyaltyFilter = Navitaire.NewSkies.WebServices.DataContracts.Common.Enumerations.LoyaltyFilter.PointsAndMonetary, IncludeSSRList = new string[] { "INFT" } }, Signature = logonResponse.Signature }); result.Add(GetTripAvailabilityWithSSRAsyncResp); /* * var legKey = new System.Collections.Generic.List<LegKey>(); * foreach (var segment in availResponse.GetTripAvailabilityResponse.Schedules[0][0].Journeys[0].Segments) * { * legKey.Add(new LegKey { ArrivalStation = segment.ArrivalStation, DepartureStation = segment.DepartureStation, CarrierCode = segment.FlightDesignator.CarrierCode.Trim(), DepartureDate = segment.STD, FlightNumber = segment.FlightDesignator.FlightNumber.Trim(), OpSuffix = segment.FlightDesignator.OpSuffix.Trim() }); * } * GetSSRAvailabilityForBookingRequest getSSRAvailabilityForBookingRequest = new GetSSRAvailabilityForBookingRequest(); * SSRAvailabilityForBookingRequest SSRAvailRequest = new SSRAvailabilityForBookingRequest(); * SSRAvailRequest.SegmentKeyList = legKey.ToArray(); * // "20080303 1L1501 SLCLAX"; * // "20171001 0P 101 JEDRUH"; * // "20171001 0P 101 JEDRUH" * SSRAvailRequest.CurrencyCode = "SAR"; * SSRAvailRequest.PassengerNumberList = new short[] { 0 }; * SSRAvailRequest.InventoryControlled = true; * SSRAvailRequest.NonInventoryControlled = true; * SSRAvailRequest.SeatDependent = true; * SSRAvailRequest.NonSeatDependent = true; * getSSRAvailabilityForBookingRequest.SSRAvailabilityForBookingRequest = SSRAvailRequest; * getSSRAvailabilityForBookingRequest.Signature = logonResponse.Signature; * var getSSRAvailabilityForBookingresult = await bookingManager.GetSSRAvailabilityForBookingAsync(getSSRAvailabilityForBookingRequest); * result[2] = getSSRAvailabilityForBookingRequest; */ var legKeyList = new System.Collections.Generic.List <string>(); foreach (var segment in availResponse.GetTripAvailabilityResponse.Schedules[0][0].Journeys[0].Segments) { // "20080303 1L1501 SLCLAX"; var legKey = string.Format("{0}{1}{2}{3}{4}{5}", segment.STD.ToString("yyyyMMdd"), segment.FlightDesignator.CarrierCode.PadLeft(3, ' '), segment.FlightDesignator.FlightNumber.PadLeft(4, ' '), segment.FlightDesignator.OpSuffix, segment.DepartureStation, segment.ArrivalStation); legKeyList.Add(legKey); } GetSSRAvailabilityRequest getSSRAvailabilityRequest = new GetSSRAvailabilityRequest(); SSRAvailabilityRequest SSRAvailRequest = new SSRAvailabilityRequest(); SSRAvailRequest.InventoryLegKeys = legKeyList.ToArray(); SSRAvailRequest.SSRCollectionsMode = SSRCollectionsMode.All; getSSRAvailabilityRequest.Signature = logonResponse.Signature; getSSRAvailabilityRequest.SSRAvailabilityRequest = SSRAvailRequest; var getSSRAvailabilityresult = await bookingManager.GetSSRAvailabilityAsync(getSSRAvailabilityRequest); result.Add(getSSRAvailabilityresult); // } IUtilitiesManager utilities = new UtilitiesManagerClient(); var stationsResponse = await utilities.GetStationListAsync(new GetStationListRequest { Signature = logonResponse.Signature, EnableExceptionStackTrace = true, GetStationListRequestData = new GetStationListRequestData { CultureCode = "en-US" } }); result.Add(stationsResponse); IAgentManager agentManager = new AgentManagerClient(); var rolesResponse = await agentManager.GetRoleListAsync(new GetRoleListRequest { Signature = logonResponse.Signature }); result.Add(rolesResponse); var logoutResponse = await sessionManager.LogoutAsync(new LogoutRequest { Signature = logonResponse.Signature }); result.Add(logoutResponse); return(new OkObjectResult(result)); } catch (Exception e) { return(new BadRequestObjectResult(e)); } }