public async Task <TravelConnect.Models.Responses.AirlineRS> AirlineLookup(string code) { try { var result = await _SabreConnector.SendRequestAsync("/v1/lists/utilities/airlines", "airlinecode=" + code, false); Models.AirlineRS rs = JsonConvert.DeserializeObject <Models.AirlineRS>(result); if (rs.AirlineInfo?.FirstOrDefault() == null) { return(null); } return(new TravelConnect.Models.Responses.AirlineRS { Code = rs.AirlineInfo.FirstOrDefault().AirlineCode, Name = rs.AirlineInfo.FirstOrDefault().AirlineName }); } catch (Exception ex) { var currentMethod = System.Reflection.MethodBase.GetCurrentMethod(); var fullMethodName = currentMethod.DeclaringType.FullName + "." + currentMethod.Name; _LogService.LogException(ex, fullMethodName); return(null); } }
public async Task <CreatePnrRS> CreatePnrAsync(CreatePnrRQ request) { try { string r = JsonConvert.SerializeObject(ConvertToCreatePassNamenRecordRQ(request), Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, DateFormatString = "yyyy-MM-ddTHH:mm:ss" }); string result = await _SabreConnector.SendRequestAsync("/v2.0.0/passenger/records?mode=create", r, true); CreatePassNameRecordRS rs = JsonConvert.DeserializeObject <CreatePassNameRecordRS>(result); return(ConvertToCreatePnrRS(rs)); } catch { return(new CreatePnrRS { Status = "Failed" }); } }
private async Task <AirportAutocompleteRS> SubmitGetAirportAutocompleteAsync(string query) { var result = await _SabreConnector.SendRequestAsync("/v1/lists/utilities/geoservices/autocomplete", "query=" + query + "&category=AIR&limit=30", false); result = result.Replace("category:AIR", "categoryAIR"); AutocompleteRS rs = JsonConvert.DeserializeObject <AutocompleteRS>(result); AirportAutocompleteRS autocompleteRs = new AirportAutocompleteRS() { AirportsRS = new System.Collections.Generic.List <AirportRS>() }; foreach (var doc in rs.Response.grouped.categoryAIR.doclist.docs) { autocompleteRs.AirportsRS.Add(new AirportRS { Code = doc.id, Name = doc.name, IataCityCode = doc.iataCityCode, CityName = doc.city, CountryCode = doc.country, CountryName = doc.countryName, }); } return(autocompleteRs); }
public async Task <FlightSearchRS> AirLowFareSearchAsync(FlightSearchRQ request) { try { string result = await _SabreConnector.SendRequestAsync("/v3.2.0/shop/flights?mode=live&limit=200&offset=1&enabletagging=true", JsonConvert.SerializeObject(ConvertToAirLowFareSearchRQ(request), Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, DateFormatString = "yyyy-MM-ddTHH:mm:ss" }), true); AirLowFareSearchRS rs = JsonConvert.DeserializeObject <AirLowFareSearchRS>(result); return(ConvertToSearchRS(rs)); } catch { return(null); } }