Esempio n. 1
0
        /// <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;
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 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 = "预定";
 }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
 public static void BlackWindowPolicy(RichTextBox rtb, EagleString.AvResult ar, EagleString.ProfitResult pr)
 {
 }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        /*
         *  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;
            }
        }