/// <summary> /// 获取航班列表信息 /// </summary> /// <param name="context"></param> /// <returns></returns> public static string GetFlight(FlightParamInfo param) { try { if (string.IsNullOrEmpty(param.Startairport)) { return("请选择出发地"); } if (string.IsNullOrEmpty(param.Endairport)) { return("请选择目的地"); } if (string.IsNullOrEmpty(param.Startdate)) { return("请选择出发时间"); } string action = GetConfig("flight_api_action");//方法名 //string sign = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(action + companycode + key + param.Startairport + param.Endairport + param.Startdate, "MD5").ToLower(); string sign = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(action + companycode + key + param.Startairport + param.Endairport + param.Startdate + param.Startcity + param.Endcity + param.Backdate + param.Cabin + param.Aircompany + (param.Seatnum == 0 ? "" : param.Seatnum.ToString()) + param.Passtype, "MD5").ToLower(); string curl = string.Format("{7}?param={{\"action\":\"{0}\",\"companycode\":\"{1}\",\"key\":\"{2}\",\"sign\":\"{3}\",\"startairport\":\"{4}\",\"endairport\":\"{5}\",\"startdate\":\"{6}\",\"startcity\":\"{8}\",\"endcity\":\"{9}\",\"backdate\":\"{10}\",\"cabin\":\"{11}\",\"aircompany\":\"{12}\",\"seatnum\":\"{12}\",\"passtype\":\"{13}\"}}", action, companycode, key, sign, param.Startairport, param.Endairport, param.Startdate, apiUrl, param.Startcity, param.Endcity, param.Backdate, param.Cabin, param.Aircompany, param.Seatnum == 0 ? "" : param.Seatnum.ToString(), param.Passtype); return(SendPostRequest(curl, "")); } catch (Exception) { return("发生异常,请联系管理员"); } }
/// <summary> /// 获取API数据并存储到session /// </summary> /// <returns></returns> public FlightTotal GetFlights() { FlightParamInfo param = new FlightParamInfo(); param.Startairport = fromcityCode; param.Endairport = tocityCode; param.Startdate = tripDate; //为往返的,加上返回时间 if (tripType == 1) { param.Backdate = backDate; } string jsonTxt = FlightAPI.GetFlight(param); FlightTotal ft = FlightAPI.DeserializeJsonToObject <FlightTotal>(jsonTxt); return(ft); }
/// <summary> /// 获取API接口数据 /// </summary> /// <returns></returns> private FlightRoundTrip GetApi() { try { FlightRoundTrip rtInfo = null; FlightParamInfo param = new FlightParamInfo(); param.Startairport = FromCityCode; param.Endairport = ToCityCode; param.Startdate = TripDate; //为往返的,加上返回时间 if (Convert.ToInt32(TripType) == 1) { param.Backdate = BackDate; } string jsonTxt = FlightAPI.GetFlight(param); FlightTotal ft = FlightAPI.DeserializeJsonToObject <FlightTotal>(jsonTxt); if (ft.result != null) { for (int i = 0; i < ft.result.Count; i++) { bool isContains = false; for (int j = 0; j < ft.result[i].ListInterFlightInfo.Count; j++) { if (DataGuid == ft.result[i].ListInterFlightInfo[j].dataId) { rtInfo = ft.result[i]; isContains = true; break; } } if (isContains) { break; } } } return(rtInfo); } catch (Exception) { return(null); } }