public LowFareSearchRsp LowFareShop(bool solutionResult) { LowFareSearchReq lowFareSearchReq = new LowFareSearchReq(); LowFareSearchRsp lowFareSearchRsp; lowFareSearchReq = SetUpLFSSearch(lowFareSearchReq, solutionResult); AirLowFareSearchPortTypeClient client = new AirLowFareSearchPortTypeClient("AirLowFareSearchPort", WsdlService.AIR_ENDPOINT); client.ClientCredentials.UserName.UserName = Helper.RetrunUsername(); client.ClientCredentials.UserName.Password = Helper.ReturnPassword(); try { var httpHeaders = Helper.ReturnHttpHeader(); client.Endpoint.EndpointBehaviors.Add(new HttpHeadersEndpointBehavior(httpHeaders)); lowFareSearchRsp = client.service(null, lowFareSearchReq); //Console.WriteLine(lowFareSearchRsp.AirSegmentList.Count()); return(lowFareSearchRsp); } catch (Exception se) { Console.WriteLine("Error : " + se.Message); client.Abort(); return(null); } }
public LowFareSearchRsp LowFareShop(bool solutionResult) { LowFareSearchReq lowFareSearchReq = new LowFareSearchReq(); LowFareSearchRsp lowFareSearchRsp; lowFareSearchReq = SetUpLFSSearch(lowFareSearchReq, solutionResult); AirLowFareSearchPortTypeClient client = new AirLowFareSearchPortTypeClient("AirLowFareSearchPort", WsdlService.AIR_ENDPOINT); client.ClientCredentials.UserName.UserName = Helper.RetrunUsername(); client.ClientCredentials.UserName.Password = Helper.ReturnPassword(); try { var httpHeaders = Helper.ReturnHttpHeader(); client.Endpoint.EndpointBehaviors.Add(new HttpHeadersEndpointBehavior(httpHeaders)); lowFareSearchRsp = client.service(lowFareSearchReq); //Console.WriteLine(lowFareSearchRsp.AirSegmentList.Count()); return lowFareSearchRsp; } catch (Exception se) { Console.WriteLine("Error : " + se.Message); client.Abort(); return null; } }
public JsonResult LowFareShop(SearchModel searchModel) { bool solutionResult = true; LowFareSearchReq lowFareSearchReq = new LowFareSearchReq(); LowFareSearchRsp lowFareSearchRsp; lowFareSearchReq = SetUpLFSSearch(lowFareSearchReq, solutionResult, searchModel); AirLowFareSearchPortTypeClient client = new AirLowFareSearchPortTypeClient("AirLowFareSearchPort", WsdlService.AIR_ENDPOINT); client.ClientCredentials.UserName.UserName = Helper.RetrunUsername(); client.ClientCredentials.UserName.Password = Helper.ReturnPassword(); try { var httpHeaders = Helper.ReturnHttpHeader(); client.Endpoint.EndpointBehaviors.Add(new HttpHeadersEndpointBehavior(httpHeaders)); lowFareSearchRsp = client.service(null, lowFareSearchReq); return(Json(ConverToModelForLFS(lowFareSearchRsp), JsonRequestBehavior.AllowGet)); } catch (Exception se) { Console.WriteLine("Error : " + se.Message); client.Abort(); return(null); } }
private LowFareSearchReq SetUpLFSSearch(LowFareSearchReq lowFareSearchReq, bool solutionResult) { lowFareSearchReq.TargetBranch = CommonUtility.GetConfigValue(ProjectConstants.G_TARGET_BRANCH); lowFareSearchReq.SolutionResult = solutionResult; //Change it to true if you want AirPricingSolution, by default it is false //and will send AirPricePoint in the result //set the GDS via a search modifier String[] gds = new String[] { "1G" }; AirSearchModifiers modifiers = AirReq.CreateModifiersWithProviders(gds); AirReq.AddPointOfSale(lowFareSearchReq, MY_APP_NAME); //try to limit the size of the return... not supported by 1G! modifiers.MaxSolutions = string.Format("25"); lowFareSearchReq.AirSearchModifiers = modifiers; //travel is for denver to san fransisco 2 months from now, one week trip SearchAirLeg outbound = AirReq.CreateSearchLeg(origin, destination); AirReq.AddSearchDepartureDate(outbound, Helper.daysInFuture(60)); AirReq.AddSearchEconomyPreferred(outbound); //coming back /*SearchAirLeg ret = AirReq.CreateSearchLeg(destination, origin); * AirReq.AddSearchDepartureDate(ret, Helper.daysInFuture(65)); * //put traveller in econ * AirReq.AddSearchEconomyPreferred(ret);*/ lowFareSearchReq.Items = new SearchAirLeg[1]; lowFareSearchReq.Items.SetValue(outbound, 0); //lowFareSearchReq.Items.SetValue(ret, 1); //AirPricingModifiers priceModifiers = AirReq.AddAirPriceModifiers(typeAdjustmentType.Amount, +40); //lowFareSearchReq.AirPricingModifiers = priceModifiers; lowFareSearchReq.SearchPassenger = AirReq.AddSearchPassenger(); return(lowFareSearchReq); }
private LowFareSearchReq SetUpLFSSearch(LowFareSearchReq lowFareSearchReq, bool solutionResult) { lowFareSearchReq.TargetBranch = CommonUtility.GetConfigValue(ProjectConstants.G_TARGET_BRANCH); lowFareSearchReq.SolutionResult = solutionResult; //Change it to true if you want AirPricingSolution, by default it is false //and will send AirPricePoint in the result //set the GDS via a search modifier String[] gds = new String[] { "1G" }; AirSearchModifiers modifiers = AirReq.CreateModifiersWithProviders(gds); AirReq.AddPointOfSale(lowFareSearchReq, MY_APP_NAME); //try to limit the size of the return... not supported by 1G! modifiers.MaxSolutions = string.Format("25"); lowFareSearchReq.AirSearchModifiers = modifiers; //travel is for denver to san fransisco 2 months from now, one week trip SearchAirLeg outbound = AirReq.CreateSearchLeg(origin, destination); AirReq.AddSearchDepartureDate(outbound, Helper.daysInFuture(4)); AirReq.AddSearchEconomyPreferred(outbound); //coming back SearchAirLeg ret = AirReq.CreateSearchLeg(destination, origin); AirReq.AddSearchDepartureDate(ret, Helper.daysInFuture(9)); //put traveller in econ AirReq.AddSearchEconomyPreferred(ret); lowFareSearchReq.Items = new SearchAirLeg[2]; lowFareSearchReq.Items.SetValue(outbound, 0); lowFareSearchReq.Items.SetValue(ret, 1); AirPricingModifiers priceModifiers = AirReq.AddAirPriceModifiers(typeAdjustmentType.Amount, +40); lowFareSearchReq.AirPricingModifiers = priceModifiers; lowFareSearchReq.SearchPassenger = AirReq.AddSearchPassenger(); return lowFareSearchReq; }
private LowFareSearchReq ConvertToLowFareSearchReq(FlightSearchRQ request, JourneyType journeyType) { if (request.Segments.Count == 0) { throw new ApplicationException("Segment is required"); } //Segments IEnumerable <SearchAirLeg> SearchAirLegs = new List <SearchAirLeg>(); switch (journeyType) { case JourneyType.DepartAndReturn: if (request.Segments.Count == 1) { throw new ApplicationException("2 segment is request to generate Depart and Return journey"); } SearchAirLegs = request.Segments.OrderBy(s => s.Departure).Select(s => GenerateSearchAirLeg(s.Origin, true, s.Destination, true, s.Departure)); break; case JourneyType.DepartOnly: SearchAirLegs = request.Segments.OrderBy(s => s.Departure).Take(1).Select(s => GenerateSearchAirLeg(s.Origin, true, s.Destination, true, s.Departure)); break; case JourneyType.ReturnOnly: if (request.Segments.Count == 1) { throw new ApplicationException("2 segment is request to generate Return Only journey"); } SearchAirLegs = request.Segments.OrderBy(s => s.Departure).Skip(1).Take(1).Select(s => GenerateSearchAirLeg(s.Origin, true, s.Destination, true, s.Departure)); break; } AirSearchModifiers airSearchModifiers = new AirSearchModifiers { PreferredProviders = new Provider[] { new Provider { Code = "1G" } } }; AirPricingModifiers airPricingModifiers = new AirPricingModifiers { ETicketabilitySpecified = true, ETicketability = typeEticketability.Required, FaresIndicatorSpecified = true, FaresIndicator = typeFaresIndicator.AllFares, }; //Passengers var SearchPassengers = new List <SearchPassenger>(); request.Ptcs.ForEach(p => { for (int i = 1; i <= p.Quantity; i++) { SearchPassengers.Add(new SearchPassenger { Code = p.Code == "CNN" ? "CHD" : p.Code, Age = p.Code == "CNN" ? "8" : null, }); } }); LowFareSearchReq req = new LowFareSearchReq { BillingPointOfSaleInfo = new kestrel.AirService.BillingPointOfSaleInfo { OriginApplication = "uAPI" }, TargetBranch = "P7073862", MaxNumberOfExpertSolutions = "50", SolutionResult = false, Items = SearchAirLegs.ToArray(), AirSearchModifiers = airSearchModifiers, AirPricingModifiers = airPricingModifiers, SearchPassenger = SearchPassengers.ToArray(), ReturnUpsellFare = true }; return(req); }