Esempio n. 1
0
 /// <summary>
 /// 将返点信息显示在LV_Lowest中
 /// </summary>
 /// <param name="lv"></param>
 /// <param name="wsaddr"></param>
 /// <param name="username"></param>
 /// <param name="dt"></param>
 /// <param name="cp"></param>
 private static void ProfitSet_LV_Lowest(ListView lv, string wsaddr, string username, string dt, string cp)
 {
     try
     {
         EagleWebService.kernalFunc fc = new EagleWebService.kernalFunc(wsaddr);
         string profitstring           = "";
         string flightnos = "";
         for (int i = 0; i < lv.Items.Count; ++i)
         {
             if (i != 0)
             {
                 flightnos += ",";
             }
             flightnos += lv.Items[i].SubItems[1].Text;
         }
         profitstring = fc.GetPolicies(username, flightnos, dt, cp);
         if (lv.InvokeRequired)
         {
             if (dg_profit == null)
             {
                 dg_profit = new deleg4Profit(ProfitSet_LV_Lowest);
             }
             lv.Invoke(dg_profit, new object[] { lv, profitstring });
         }
         else
         {
             ProfitSet_LV_Lowest(lv, profitstring);
         }
     }
     catch (Exception ex)
     {
         EagleString.EagleFileIO.LogWrite("EagleExtension:ProfitSet_LV_Lowest1:" + ex.Message);
     }
 }
Esempio n. 2
0
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         if (textBox2.Text != textBox3.Text)
         {
             throw new Exception("ÐÂÃÜÂë²»Ò»Ö£¡");
         }
         if (textBox1.Text != m_oldpassword)
         {
             throw new Exception("¾ÉÃÜÂë²»ÕýÈ·£¡");
         }
         EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(m_wsaddr);
         bool bSucceed = false;
         kf.ChangePassword(m_username, textBox2.Text, ref bSucceed);
         if (!bSucceed)
         {
             throw new Exception("ÃÜÂëÐÞ¸Äʧ°Ü£¡ÇëÖØÐÂÊäÈ룡");
         }
         else
         {
             m_newpassword = textBox2.Text;
             MessageBox.Show("Ð޸ijɹ¦£¡");
             this.Close();
         }
     }
     catch (Exception ex)
     {
         m_newpassword = m_oldpassword;
         MessageBox.Show(ex.Message);
         EagleString.EagleFileIO.LogWrite("ÃÜÂëÐÞ¸Ä:" + ex.Message);
     }
 }
Esempio n. 3
0
 public void UpdatePnr()
 {
     EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(m_li.b2b.webservice);
     for (int i = 0; i < statedPnr.Length; i++)
     {
         kf.GetSubmittedPnrsWith(m_li.b2b.username, i, ref statedPnr[i]);
     }
     rt = EagleString.RtResultList.DeSerializeRtResults();
     if (rt == null)
     {
         rt = new EagleString.RtResultList();
     }
     ss = EagleString.SsResultList.DeSerializeSsResults();
     if (ss == null)
     {
         ss = new EagleString.SsResultList();
     }
     {
         //SetListView(statedPnr, rt, ss);//
     }
     {
         SetSS(ss);
         SetRT(rt);
         SetPnrState(statedPnr);
         for (int i = 0; i < Items.Count; i++)
         {
             if (i % 2 == 1)
             {
                 Items[i].BackColor = Color.LightBlue;
             }
         }
     }
 }
Esempio n. 4
0
 public void Run()
 {
     if (m_running)
     {
         return;
     }
     m_running = true;
     string[] pnrs = PnrsNeedDeduct();
     //string[] pnrs = new string[] { "VXVZ6" };
     for (int i = 0; i < pnrs.Length; i++)
     {
         try
         {
             int money = MoneyOfPnr(pnrs[i]);
             CutMoney(pnrs[i], money);
         }
         catch (Exception e1)
         {
             bool bflag = false;
             EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(m_webserver);
             EagleString.EagleFileIO.LogWrite("(不能扣款:特殊舱位,无法对应价格!)" + pnrs[i]);
             EagleString.EagleFileIO.LogWrite(e1.Message);
             kf.WriteLogToServer(m_username, "(不能扣款:特殊舱位,无法对应价格!)", pnrs[i], ref bflag);
         }
     }
     m_running = false;
 }
Esempio n. 5
0
        /// <summary>
        /// 计算每个航段的价格及返点
        /// </summary>
        public static void CalPnrsPrices(RtResult rtres, LoginInfo li,
                                         ref int [] sFare,
                                         ref int [] sBuild,
                                         ref int [] sFuel,
                                         ref double[] sGain,
                                         ref int [] sFareY,
                                         ref int totalEtdz)
        {
            int total = 0;

            CalPnrsTotalPrice(rtres, li.b2b.webservice, ref totalEtdz, ref sFare, ref sBuild, ref sFuel, ref sFareY);
            EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(li.b2b.webservice);
            EagleString.ProfitResult   profitResult;
            for (int i = 0; i < rtres.SEGMENG.Length; ++i)
            {
                profitResult = new ProfitResult(
                    kf.GetPolicies(
                        li.b2b.username,
                        rtres.FLIGHTS[i],
                        rtres.FLIGHTDATES[i].ToShortDateString(),
                        rtres.CITYPAIRS[i]
                        ));
                string profit = profitResult.ProfitWithFlightAndBunk(rtres.FLIGHTS[i], rtres.BUNKS[i]);
                try
                {
                    sGain[i] = double.Parse(profit.Replace("%", ""));
                }
                catch
                {
                    sGain[i] = 0;
                }
            }
        }
Esempio n. 6
0
        private void SetLvProfit()
        {
            List <string> flight = new List <string>();

            for (int i = 0; i < ls_av.Count; ++i)
            {
                flight.AddRange(ls_av[i].Flights);
            }
            if (flight.Count == 0)
            {
                return;
            }
            EagleWebService.kernalFunc fc = new EagleWebService.kernalFunc(m_li.b2b.webservice);
            string policy = fc.GetPolicies(m_li.b2b.username
                                           , string.Join(",", flight.ToArray())
                                           , ls_av[0].FlightDate_DT.ToShortDateString()
                                           , ls_av[0].CityPair);

            EagleString.ProfitResult pr = new EagleString.ProfitResult(policy);
            if (lv.InvokeRequired)
            {
                deleg4SetProfit deleg = SetLvItemProfit;
                lv.Invoke(deleg, new object[] { pr });
            }
            else
            {
                SetLvItemProfit(pr);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 将散拼信息显示在ListView中
        /// </summary>
        /// <param name="username">当前登陆用户帐号</param>
        /// <param name="fromto">城市对</param>
        /// <param name="dt">航班日期</param>
        /// <param name="userclass">用户级别A,B,C,D,E,F</param>
        /// <param name="wsaddr">WebService地址</param>
        /// <param name="lv">指向LV_GroupList的ListView</param>
        public static void GroupResultToListView_Group
            (string username, string fromto, DateTime dt, char userclass, string wsaddr, ListView lv)
        {
            EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(wsaddr);
            string groupstring            = kf.Group_List(username, fromto, dt, userclass);

            EagleExtension.GroupResultToListView_Group(groupstring, lv);
        }
Esempio n. 8
0
        /// <summary>
        /// 当日志超过指定条数时,上传日志并清除本地日志
        /// </summary>
        static public void LogUpload(EagleString.LoginInfo li, int count)
        {
            string          ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\EagleLog.mdb;";
            OleDbConnection cn      = new OleDbConnection();

            try
            {
                cn.ConnectionString = ConnStr;
                cn.Open();
            }
            catch
            {
                //MessageBox.Show("LogUpload : 上传日志失败");
            }
            try
            {
                OleDbCommand     cmd     = new OleDbCommand("select * from LocalLog", cn);
                DataTable        dt      = new DataTable();
                OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
                if (dt != null)
                {
                    adapter.Fill(dt);
                }
                if (dt.Rows.Count <= count)
                {
                    return;                        //大于count条时上传日志
                }
                string sendstr = "";
                string recvstr = "";
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        sendstr += "\r\n[" + i.ToString("d3") + "]" + dt.Rows[i]["STRINGSEND"];
                        recvstr += "\r\n[" + i.ToString("d3") + "]" + dt.Rows[i]["STRINGRECV"];
                    }

                    if (sendstr != "" || recvstr != "")
                    {
                        sendstr = sendstr.Substring(2);
                        recvstr = recvstr.Substring(2);
                        EagleWebService.kernalFunc fc = new EagleWebService.kernalFunc(li.b2b.webservice);
                        bool bflag = false;
                        fc.WriteLogToServer(li.b2b.username, sendstr, "", ref bflag);
                        if (bflag)
                        {
                            cmd.CommandText = "delete * from LocalLog";
                            cmd.ExecuteNonQuery();
                            EagleString.EagleFileIO.LogWrite("上传日志完成!");
                        }
                    }
                }
                cn.Close();
            }
            catch
            {
            }
        }
Esempio n. 9
0
        /// <summary>
        /// 通过WebService取余额
        /// </summary>
        public static float BALANCE(string username, string wsaddr)
        {
            string ret = "";

            EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(wsaddr);
            bool flag = false;

            kf.GetCloseBalance(username, ref flag, ref ret);
            return(float.Parse(ret));
        }
Esempio n. 10
0
        /// <summary>
        /// 与控件无关的登录函数,主要得到LoginInfo实例,可放到全局函数中EagleExtension.Api
        /// </summary>
        private void login2server(bool isB2c, string b2cService, string b2cManager, string username, string password, LineProvider lp, EagleString.LoginResultBtoc.LOGIN_INFO_BTOC resB2c, EagleString.LoginInfo loginInfo)
        {
            loginInfo.borc = (isB2c ? LoginInfo.BORC.b2c : LoginInfo.BORC.b2b);
            if (isB2c)
            {
                EagleExtension.EagleExtension.LoginB2c(username, password, ref resB2c, b2cManager, b2cService);
                loginInfo.b2c.username   = username;
                loginInfo.b2c.password   = password;
                loginInfo.b2c.webservice = b2cService;
                loginInfo.b2c.website    = b2cManager;
                loginInfo.b2c.lr         = resB2c;
            }
            string loginb2bxml = "";

            //here todo: get b2b webservice address
            EagleString.ServerCenterB2B scb2b = new ServerCenterB2B();
            string b2bWebSite    = "";
            string b2bWebService = "";

            scb2b.ServerAddressB2B(EagleFileIO.Server, lp, 0, ref b2bWebService, ref b2bWebSite);
            EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(b2bWebService);
            bool   flagLogin = false;
            string b2buser   = username;
            string b2bpass   = password;

            if (isB2c)
            {
                b2buser = resB2c.mapuser;
                b2bpass = resB2c.mappass;
            }
            kf.LogIn(b2buser, b2bpass, ref loginb2bxml, ref flagLogin);
            if (!flagLogin)
            {
                throw new Exception("登录失败,请检查网络及用户名密码是否正确!");
            }
            lr = new LoginResult(loginb2bxml);
            if (lr.EXPIRED)
            {
                throw new Exception("该B2B用户已失效!");
            }
            if (lr.AGENT_STAT != 0)
            {
                throw new Exception("该B2B用户所在代理商已失效!");
            }
            if (lr.USER_STAT != 0)
            {
                throw new Exception("该B2B用户状态已失效!");
            }
            loginInfo.b2b.username   = b2buser;
            loginInfo.b2b.password   = b2bpass;
            loginInfo.b2b.webservice = b2bWebService;
            loginInfo.b2b.webside    = b2bWebSite;
            loginInfo.b2b.lr         = lr;
        }
Esempio n. 11
0
        /// <summary>
        /// 配置共享登录
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <param name="newipid">共享配置信息</param>
        /// <param name="loginInfo">引用输出登录信息</param>
        public static void login2server(
            string username,
            string password,
            string newipid,
            ref EagleString.LoginInfo loginInfo
            )
        {
            string b2buser     = username;
            string b2bpass     = password;
            string loginb2bxml = string.Empty;
            bool   flagLogin   = false;

            EagleString.LineProvider    lp    = new LineProvider();
            EagleString.ServerCenterB2B scb2b = new ServerCenterB2B();
            string b2bWebSite    = "";
            string b2bWebService = "";

            scb2b.ServerAddressB2B(EagleFileIO.Server, lp, 0, ref b2bWebService, ref b2bWebSite);

            EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(b2bWebService);
            kf.LogIn(b2buser, b2bpass, ref loginb2bxml, ref flagLogin);
            if (!flagLogin)
            {
                throw new Exception("登录B2B失败,请检查网络及用户名密码是否正确!");
            }
            ///把共享的配置加进去
            XmlDocument xmldoc = new XmlDocument();

            xmldoc.LoadXml(loginb2bxml);
            XmlNode xn = xmldoc.SelectSingleNode("//eg//IPS");

            xn.InnerXml += newipid;
            loginb2bxml  = xmldoc.InnerXml;
            ///共享配置加入完毕
            EagleString.LoginResult lr = new LoginResult(loginb2bxml);
            if (lr.EXPIRED)
            {
                throw new Exception("该B2B用户已失效!");
            }
            if (lr.AGENT_STAT != 0)
            {
                throw new Exception("该B2B用户所在代理商已失效!");
            }
            if (lr.USER_STAT != 0)
            {
                throw new Exception("该B2B用户状态已失效!");
            }
            loginInfo.b2b.username   = username;
            loginInfo.b2b.password   = password;
            loginInfo.b2b.webservice = b2bWebService;
            loginInfo.b2b.lr         = lr;
        }
Esempio n. 12
0
 public void READ_NO_HANDLE()
 {
     try
     {
         EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(m_wsaddr);
         string s = "";
         kf.SpecialTicketAppliedNoHandleToDisplay(ref s);
         set_var_with_xml(s);
     }
     catch
     {
     }
 }
Esempio n. 13
0
        private void CutMoney(string pnr, int price)
        {
            EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(m_webserver);
            bool  bflag = false;
            float ftemp = 0F;

            kf.DecFee(pnr, price, ref bflag, ref ftemp);
            if (!bflag)
            {
                kf.WriteLogToServer(m_username, "调用扣款失败!", pnr + price.ToString(), ref bflag);
            }
            else
            {
                kf.WriteLogToServer(m_username, "调用扣款成功!", pnr + price.ToString(), ref bflag);
            }
        }
Esempio n. 14
0
        /// <summary>
        /// 将特殊舱位信息显示在ListView中
        /// </summary>
        /// <param name="avstring">Av查询结果</param>
        /// <param name="wsaddr">WebService地址</param>
        /// <param name="lv">被显示的ListView</param>
        public static void SpecTickResultToListView_Spec(string avstring, string wsaddr, ListView lv, ListView lv2, int price)
        {
            EagleString.AvResult ar_new = new EagleString.AvResult(avstring, 0, 0);

            if (!ar_new.SUCCEED)
            {
                return;
            }
            EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(wsaddr);
            string outxml = "";

            kf.SpecialTicketList(ar_new.CityPair, ar_new.FlightDate_DT, ref outxml);
            EagleString.SpecTicResult st = new EagleString.SpecTicResult(outxml);
            st.FlightDate = ar_new.FlightDate_DT;
            st.ToListView(lv, lv2, ar_new.Flights.ToArray(), ar_new.BunksLowest.ToArray(), price);
        }
Esempio n. 15
0
 private void btOK_Click(object sender, EventArgs e)
 {
     if (this.tbNotice.Text.Trim() == "")
     {
         return;
     }
     if (dtpEnd.Value <= dtpBeg.Value)
     {
         MessageBox.Show("抱歉:结束日期必须大于开始日期", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     EagleWebService.kernalFunc fc = new EagleWebService.kernalFunc(m_li.b2b.webservice);
     fc.Submit_Notice_Scroll(
         m_li.b2b.username,
         tbNotice.Text,
         cbBeg.Checked ? dtpBeg.Value : System.DateTime.Now,
         cbEnd.Checked ? dtpEnd.Value : dtpEnd.Value.AddYears(1),
         "0");
 }
Esempio n. 16
0
 private void GroupIn()//入团函数
 {
     EagleWebService.kernalFunc fc = new EagleWebService.kernalFunc(m_li.b2b.webservice);
     for (int i = 0; i < lbName.Items.Count; ++i)
     {
         if (!fc.Group_Add(m_li.b2b.username,
                           lbName.Items[i].ToString(),
                           lbCard.Items[i].ToString(),
                           m_groupId.ToString()))
         {
             MessageBox.Show(lbName.Items[i].ToString() + "入团失败");
         }
         else
         {
             lblTitle.Text = lbName.Items[i].ToString() + "入团成功";
             Application.DoEvents();
         }
     }
     lblTitle.Text = "入团完毕!";
 }
Esempio n. 17
0
 public UploadEticketInfo(MyTcpIpClient sk, CommandPool pool_background, LoginInfo li)
 {
     fc       = new EagleWebService.kernalFunc(li.b2b.webservice);
     m_socket = sk;
     m_pool   = pool_background;
     m_li     = li;
     file     = Application.StartupPath + "\\4ULticket.txt";
     ls_pnr   = new List <string>();
     try
     {
         string[] a = File.ReadAllLines(file);
         foreach (string s in a)
         {
             ls_pnr.Add(s);
         }
         File.WriteAllText(file, "");
     }
     catch
     {
     }
 }
Esempio n. 18
0
 private void add_to_group(object sender, EventArgs e)
 {
     if (lb_PsgerName.Items.Count == 0)
     {
         MessageBox.Show("抱歉:请正确输入", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     for (int i = 0; i < lb_PsgerName.Items.Count; i++)
     {
         EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(m_wsAddress);
         bool bFlag = kf.Group_Add(m_userName, lb_PsgerName.Items[i].ToString(), lb_CardNo.Items[i].ToString(), groupid);
         if (bFlag)
         {
             //MessageBox.Show("入团成功!");
         }
         else
         {
             MessageBox.Show("警告:" + lb_PsgerName.Items[i].ToString() + "入团失败!");
         }
     }
     MessageBox.Show("恭喜,入团完毕!", "CONGRATUATIONS", MessageBoxButtons.OK, MessageBoxIcon.Information);
     this.Close();
 }
Esempio n. 19
0
        private void button1_Click(object sender, EventArgs e)
        {
            get_control();
            bool bflag = false;

            EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(m_wsaddr);
            kf.SpecialTicketAppliedHandle(m_id, m_username, DateTime.Now, m_stat, m_pnr, m_flight, m_bunk,
                                          m_handle_price, m_original_price, m_remark, m_applyuser, ref bflag, ref m_passport, ref SUBMIT_XML);
            if (bflag)
            {
                EagleProtocal.PACKET_PROMOPT_FINISH_APPLAY ep = new EagleProtocal.PACKET_PROMOPT_FINISH_APPLAY
                                                                    (EagleProtocal.EagleProtocal.MsgNo++, new string[] { m_passport }, SUBMIT_XML);

                dg_spectick.Invoke(ep.ToBytes());

                MessageBox.Show("提交成功");
                READ_NO_HANDLE();
            }
            else
            {
                MessageBox.Show("提交失败,请重试!");
            }
        }
Esempio n. 20
0
 /// <summary>
 /// 从服务器上取没有扣款的PNR
 /// </summary>
 private string[] PnrsNeedDeduct()
 {
     EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(m_webserver);
     return(kf.PnrNeedDeduct(m_username));//admin
 }
Esempio n. 21
0
 /// <summary>
 /// 申请无座低价舱位
 /// </summary>
 /// <param name="wsaddr"></param>
 /// <param name="username">申请人帐号名</param>
 /// <param name="dataid">被申请数据在表中的id</param>
 /// <param name="date">航班日期</param>
 /// <param name="bunk">被申请舱位,未知舱位用'-'表示</param>
 /// <param name="count">人数</param>
 /// <param name="pnr">PNR,当bunk='-'时,为NOPNR</param>
 /// <param name="psgers">乘客姓名</param>
 /// <param name="cardnos">乘客证件号</param>
 /// <param name="phones">电话号码:可为phones</param>
 /// <param name="ret">表示是否成功提交申请</param>
 public static void SpecTickRequest(string wsaddr, string username, int dataid, DateTime date, char bunk, int count, string pnr,
                                    string [] psgers, string [] cardnos, string [] phones, ref bool ret, ref string [] passport)
 {
     EagleWebService.kernalFunc kf = new EagleWebService.kernalFunc(wsaddr);
     kf.SpecialTicketRequest(username, dataid, date, bunk, count, pnr, psgers, cardnos, phones, ref ret, ref passport);
 }