/// <summary> /// 用ListViewItem作为参数0:表示最低价与返点,1:散客拼团,2:固定舱位申请3,:浮动舱位申请 /// </summary> public PassengerAdd(ListViewItem lvi, EagleString.AvResult avresult, int type , EagleString.LoginInfo li, EagleProtocal.MyTcpIpClient sk, EagleString.CommandPool pool) { InitializeComponent(); m_li = li; m_socket = sk; m_cmdpool = pool; m_type = type; avResult = avresult; switch (type) { case 0: InitByLowest(lvi, avresult); break; case 1: InitByGroup(lvi); break; case 2: InitBySpecTick(lvi, avresult); break; case 3: InitBySpecTick(lvi, avresult); break; } }
public void AddResult(EagleString.AvResult avres, bool profit) { m_show_profit = profit; bool clear = (m_pool.TYPE == EagleString.ETERM_COMMAND_TYPE.AV); bool sendpn = true; if (clear) { ls_av.Clear(); lv.Items.Clear(); } if (ls_av.Count == 0) { ls_av.Add(new EagleString.AvResult(avres.AvString, avres.Price, avres.Distance)); } else { if (avres.FlightDate_DT == ls_av[0].FlightDate_DT && avres.AvString != ls_av[ls_av.Count - 1].AvString) { ls_av.Add(new EagleString.AvResult(avres.AvString, avres.Price, avres.Distance)); } else { sendpn = false; SetLV(); } } if (sendpn) { string cmd = m_pool.HandleCommand("pn"); m_socket.SendCommand(cmd, EagleProtocal.TypeOfCommand.Multi); } }
private void InitByLowest(ListViewItem lvi, EagleString.AvResult avres) { m_flight = lvi.SubItems[1].Text; m_time = Convert.ToInt32(lvi.SubItems[2].Text); m_time2 = Convert.ToInt32(lvi.SubItems[3].Text); m_bunk = lvi.SubItems[4].Text[0]; m_price = Convert.ToInt32(lvi.SubItems[5].Text); m_profit = (float)Convert.ToDouble(lvi.SubItems[6].Text.Replace("%", "")); m_rebate = Convert.ToInt32(lvi.SubItems[7].Text); m_citypair = avres.CityPair; m_date = avres.FlightDate_DT; DisplayLowestString(); cbBunkSelectable.Enabled = false; btnOK.Text = "预定"; }
private void SetLV() { if (true) { lv.Items.Clear();//这里可根据用户选择是否清空 lv2.Items.Clear(); } m_show_noseat = (EagleString.EagleFileIO.ValueOf("EASYFORM_DISPLAY_NO_SEAT_BUNK") == "1"); m_show_specbunk = (EagleString.EagleFileIO.ValueOf("EASYFORM_DISPLAY_SPEC_BUNK") == "1"); int base_id = 0; for (int i = 0; i < ls_av.Count; ++i) { try { EagleString.AvResult ar = ls_av[i]; ar.BASE_ID = base_id; ar.DISPLAY_SEAT_AMOUNT = true; ar.ToListView(lv, m_show_noseat, EagleString.TO_LIST_WAYS.ALL, true); ar.DISPLAY_SEAT_AMOUNT = false; ar.ToListView(lv2, m_show_noseat, EagleString.TO_LIST_WAYS.ALL, true); base_id += ar.si.Length; } catch { } } if (m_show_profit) { new System.Threading.Thread( new System.Threading.ThreadStart(SetLvProfit)).Start(); } int price = EagleString.EagleFileIO.PriceOf(ls_av[0].CityPair); if (price != 0) { InsertPrice(price, lv); InsertPrice(price, lv2); } else { m_pool.Clear(); string cmd = m_pool.HandleCommand("fd:" + ls_av[0].CityPair); m_socket.SendCommand(cmd, EagleProtocal.TypeOfCommand.Multi); } }
public static void BlackWindowPolicy(RichTextBox rtb, EagleString.AvResult ar, EagleString.ProfitResult pr) { }
public void SetAllPolicy(System.Windows.Forms.ListView lv, string date) { try { if (!Model.md.b_026) { return; } int iCount = lv.Items.Count; System.Windows.Forms.ListViewItem[] items = new System.Windows.Forms.ListViewItem[iCount]; string flightnos = ""; for (int i = 0; i < iCount; i++) { string fn = lv.Items[i].SubItems[1].Text; if (fn.Substring(0, 1) == "*") { fn = fn.Substring(1); } flightnos += fn + (i == iCount - 1 ? "" : ","); } string cp = lv.Items[0].SubItems[3].Text; AVResult ar = new AVResult(); ar.avResult = connect_4_Command.AV_String; ar.SetVar(); //ar.SetToListview(lv,DateTime.Parse(date)); Application.DoEvents(); string day = ar.avDate.Substring(0, 2); string mon = ar.avDate.Substring(2, 3); int iDay = int.Parse(day); int iMon = int.Parse(EagleAPI.GetMonthInt(mon)); int iYear = DateTime.Now.Year; if (iMon < DateTime.Now.Month) { iYear++; } string dd = iYear.ToString() + "-" + iMon.ToString() + "-" + iDay.ToString(); ListPolicy.avDate = dd; EagleString.AvResult ar_new = new EagleString.AvResult(ar.avResult, 0, 0); ListPolicy.avDate = ar_new.FlightDate_DT.ToShortDateString(); GlobalVar2.xmlPolicies = WebService.wsGetPolicies(flightnos, dd, cp.Substring(0, 3), cp.Substring(cp.Length - 3)); Hashtable ht = GetHashTableFromXmlString(GlobalVar2.xmlPolicies); for (int i = 0; i < iCount; i++) { items[i] = new System.Windows.Forms.ListViewItem(); items[i].Text = ""; items[i].SubItems.Add("返点"); items[i].SubItems.Add(""); items[i].SubItems.Add("政策"); items[i].SubItems.Add(""); items[i].SubItems.Add(""); items[i].SubItems.Add(""); int countLie = lv.Items[i].SubItems.Count; for (int j = 7; j < countLie; j++)//23为3折舱,35为所有舱 { Application.DoEvents(); try { if (lv.Items[i].SubItems[j].Text.Trim().Length != 2) { items[i].SubItems.Add(""); } else { string p = GetOnePolicy(lv.Items[i].SubItems[3].Text, date, lv.Items[i].SubItems[1].Text, lv.Items[i].SubItems[j].Text[0].ToString(), ht ); items[i].SubItems.Add(p); } } catch { } } } for (int i = 0; i < iCount; i++) { lv.Items.Insert(2 * i + 1, items[i]); } bool b = false; for (int i = 0; i < lv.Items.Count; i += 2) { try { b = !b; if (b) { lv.Items[i].BackColor = lv.Items[i + 1].BackColor = lv.Items[i].BackColor = System.Drawing.Color.Gainsboro; } else { lv.Items[i].BackColor = lv.Items[i + 1].BackColor = lv.Items[i].BackColor = System.Drawing.Color.White; } } catch { } } } catch (Exception ex) { EagleAPI.LogWrite("SetAllPolicy:" + ex.Message); } }
/// <summary> /// sd转换为ss指令 /// </summary> /// <param name="sd"></param> /// <returns></returns> public string sd2ss(string sd) { try { if (!GlobalVar.b_sd2ss) { return(sd); } string ret = ""; sd = sd.Trim(); if (EagleAPI.substring(sd, 0, 2).ToLower() == "sd") { string sd_sub = sd.Substring(2).Trim(); int sd_i = int.Parse(sd_sub[0].ToString()) - 1; if (sd_i < 0 || sd_i > 7) { return(sd); } AVResult ar = new AVResult(); ar.avResult = avstring; EagleString.AvResult avres = new EagleString.AvResult(avstring); ar.SetVar(); string state = sd_sub.Substring(2).Trim(); if (state[0] != '/') { state = "/LL" + state; } for (int i = 0; i < ar.si[sd_i].fi.Length; i++) { if (i == 0) { string stemp = ar.si[sd_i].fi[i].FI_Path; if (stemp == "") { stemp = avres.CityPair; } ret += "\xdss:" + ar.si[sd_i].fi[i].FI_FlightNo + "/" + sd_sub[1].ToString() + "/" + ar.avDate.Substring(0, 5) + "/" + stemp + state; } if (i == 1) { string citystart = ar.si[sd_i].fi[0].FI_Path.Substring(3); string city2end = ar.si[sd_i].fi[1].FI_Path.Trim(); citystart += city2end.Substring(city2end.Length - 3); string strNewAvDate = ""; string temp = ""; if (ar.si[sd_i].fi[i].FI_TakeOff.Length >= 6) { temp = ar.si[sd_i].fi[i].FI_TakeOff.Substring(4, 2); } if (temp.IndexOf("+") != -1) { strNewAvDate = (Convert.ToInt32(ar.avDate.Substring(0, 2)) + Convert.ToInt32(temp.Substring(1, 1))) + ar.avDate.Substring(2, 3); } if (strNewAvDate == "") { strNewAvDate = ar.avDate.Substring(0, 5); //add by wfb : 2009-2-18 } //Eric 原 ret += "\xdss:" + ar.si[sd_i].fi[i].FI_FlightNo + "/" + sd_sub[1].ToString() + "/" + ar.avDate.Substring(0, 5) + "/" + citystart + state; ret += "\xdss:" + ar.si[sd_i].fi[i].FI_FlightNo + "/" + sd_sub[1].ToString() + "/" + strNewAvDate + "/" + citystart + state; } } ret = ret.Substring(1); while (ret.IndexOf("*") > -1) { //MessageBox.Show("共享航班不能订座!"); ret = ret.Remove(ret.IndexOf("*"), 1); } return(ret); } } catch (Exception ea) { if (connect_4_Command.SendString.Substring(15, 2).IndexOf("/") == -1) { EagleString.EagleFileIO.LogWrite("SD2SS FAILED!" + sd); } } return(sd); }
/* * this.ch_id, * this.ch_cp, * this.ch_flight, * this.ch_bunk, * this.ch_price, * this.ch_rebate, * this.ch_date, * this.ch_remark}); */ private void InitBySpecTick(ListViewItem lvi, EagleString.AvResult avres) { m_groupId = Convert.ToInt32(lvi.Text); m_citypair = lvi.SubItems[1].Text; m_flight = lvi.SubItems[2].Text; lblFlight.Text = "航班:" + EagleString.BaseFunc.AirLineCnName(m_flight) + m_flight; lblTime.Text = "离港:" + EagleString.EagleFileIO.CityCnName(m_citypair.Substring(0, 3)); lblTime2.Text = "抵达:" + EagleString.EagleFileIO.CityCnName(m_citypair.Substring(3)); m_date = avres.FlightDate_DT; lblDate.Text = "日期:" + m_date.ToShortDateString(); lblProfit.Text = ""; btnOK.Text = "申请"; string bunk = lvi.SubItems[3].Text; if (m_type == 3)//浮动舱 { bool bfind = false; for (int i = 0; i < avres.si.Length; ++i) { if (bfind) { break; } for (int j = 0; j < avres.si[i].fi.Length; ++j) { if (avres.si[i].fi[j].info_Flight == m_flight.ToUpper()) { m_bunk = avres.si[i].fi[j].info_Bunk_Lowest; bfind = true; break; } } } int dec = Convert.ToInt32(lvi.SubItems[5].Text); string bunks = EagleString.EagleFileIO.BunksOf(m_bunk, m_flight, dec); for (int i = 0; i < bunks.Length; ++i) { if (bunks[i] != ' ') { cbBunkSelectable.Items.Add(bunks[i].ToString()); } } cbBunkSelectable.Text = cbBunkSelectable.Items[cbBunkSelectable.Items.Count - 1].ToString(); m_bunk = cbBunkSelectable.Text[0]; lblBunk.Text = "舱位:" + m_bunk.ToString(); m_rebate = EagleString.EagleFileIO.RebateOf(m_bunk, m_flight); lblRebate.Text = "折扣:" + m_rebate.ToString(); if (EagleString.egString.LargeThan420(m_date)) { lblRebate.Text = ""; } m_price = EagleString.egString.TicketPrice(avres.Price, m_rebate); lblPrice.Text = "票面价:" + m_price.ToString(); } else if (m_type == 2)//固定舱 { m_bunk = bunk[0]; lblBunk.Text = "舱位:" + m_bunk.ToString(); m_price = Convert.ToInt32(lvi.SubItems[4].Text); lblPrice.Text = "价格:" + m_price.ToString(); m_rebate = Convert.ToInt32(lvi.SubItems[5].Text); lblRebate.Text = "折扣:" + m_rebate.ToString(); if (EagleString.egString.LargeThan420(m_date)) { lblRebate.Text = ""; } cbBunkSelectable.Enabled = false; } }