Exemple #1
0
        public string fdi2fdxx(string fd)
        {
            try
            {
                string ret = "";
                fd = fd.Trim();
                if (EagleAPI.substring(fd, 0, 2).ToLower() == "fd")
                {
                    string fd_sub = fd.Substring(2).Trim();
                    if (fd_sub[0] < '1' || fd_sub[0] > '8')
                    {
                        return(fd);
                    }
                    int      fd_i = int.Parse(fd_sub[0].ToString()) - 1;
                    AVResult ar   = new AVResult();
                    ar.avResult = avstring;

                    ar.SetVar();

                    ret = "fd" + ar.avFromTo + "/" + ar.avDate + "/" + ar.si[fd_i].fi[0].FI_FlightNo.Substring(0, 2);
                    return(ret);
                }
            }
            catch
            {
            }
            return(fd);
        }
Exemple #2
0
        public List <string> FI_Bunk = new List <string> (); //所有舱位情况列表
        public void setVar()
        {
            //fiString = fiString.Replace('-', ' ');    //Eric
            //fiString = fiString.Replace('+', ' ');    //Eric
            string[] sq = new string[1];
            sq[0] = "\n>";
            string[] fiRow     = fiString.Split(sq, StringSplitOptions.RemoveEmptyEntries);
            string   temp_bunk = "";

            for (int i = 0; i < fiRow.Length; i++)
            {
                string temp = fiRow[i];

                if (i == 0)
                {
                    FI_FlightNo = EagleAPI.substring(temp, 2, 8).Trim();
                    FI_Policy   = EagleAPI.substring(temp, 11, 3).Trim();
                    temp_bunk  += EagleAPI.substring(temp, 15, 44 - 15).Trim();
                    FI_Path     = EagleAPI.substring(temp, 46, 6).Trim();
                    FI_TakeOff  = EagleAPI.substring(temp, 53, 6); //Eric 原FI_TakeOff = EagleAPI.substring(temp, 53, 4);
                    FI_Landing  = EagleAPI.substring(temp, 60, 6); //Eric 原FI_Landing = EagleAPI.substring(temp, 60, 4);
                    FI_AirType  = EagleAPI.substring(temp, 67, 3);
                }
                if (i == 1)
                {
                    temp_bunk += (" " + EagleAPI.substring(temp, 15, temp.Length - 15).Trim());
                    int subpos = temp_bunk.IndexOf("\r\n");
                    if (subpos > 0)
                    {
                        temp_bunk = temp_bunk.Substring(0, subpos);
                    }
                }
            }
            while (temp_bunk.IndexOf("  ") > -1)
            {
                temp_bunk = temp_bunk.Replace("  ", " ");
            }
            string[] bk = temp_bunk.Split(' ');
            for (int i = 0; i < bk.Length; i++)
            {
                if (bk[i].Length == 2)
                {
                    FI_Bunk.Add(bk[i]);
                }
            }
            //FI_Bunk.Sort();
        }
Exemple #3
0
 /// <summary>
 /// 发送结束后,指示全局变量GlobalVar.b_pnCommand,GlobalVar.b_rtCommand,GlobalVar.b_etdz,GlobalVar.b_etdz_A
 /// </summary>
 /// <param name="content"></param>
 public static void send_end(string content, int msgtype)
 {
     GlobalVar.b_pnCommand = (EagleAPI.substring(content, 0, 2).ToUpper() == "PN");
     if (connect_4_Command.Qorder.Count < 1)
     {
         GlobalVar.b_rtCommand = false;
     }
     else
     {
         GlobalVar.b_rtCommand = (EagleAPI.substring(connect_4_Command.Qorder[connect_4_Command.Qorder.Count - 1], 0, 2).ToUpper() == "RT");
     }
     if (GlobalVar.b_etdz && EagleAPI.etstatic.Pnr.Trim().Length == 5)
     {
         EagleAPI.CLEARCMDLIST(msgtype);
         GlobalVar.b_etdz   = false;
         GlobalVar.b_etdz_A = true;
     }
 }
Exemple #4
0
        /// <summary>
        /// 根据detr提取票号产生
        /// </summary>
        /// <param name="detrResult"></param>
        public void SetVarsByDetr(string detrResult)
        {
            peaplecount = 1;

            ePlus.eTicket.etInfomation ei = new ePlus.eTicket.etInfomation();
            ei.SetVar(detrResult);
            psgname = ei.PASSENGER;
            sail    = ei.ORGDST;
            pnr     = ei.SmallCode;

            string tempdate = EagleAPI.substring(ei.FROM, 18, 5);

            if (tempdate != "")
            {
                if (tempdate[0] == '0')
                {
                    tempdate = tempdate.Substring(1);
                }
                string tempday   = tempdate.Substring(0, tempdate.Length - 3);
                string tempmonth = EagleAPI.GetMonthInt(mystring.right(tempdate, 3));
                string tempyear  = System.DateTime.Now.Year.ToString();
                if ((int.Parse(tempmonth) - System.DateTime.Now.Month) > 6)
                {
                    tempyear = System.DateTime.Now.AddYears(-1).Year.ToString();
                }
                date1 = tempyear + "-" + tempmonth + "-" + tempday;
            }
            else
            {
                date1 = "";
            }
            try
            {
                hour1   = EagleAPI.substring(ei.FROM, 24, 4).Substring(0, 2);
                minute1 = EagleAPI.substring(ei.FROM, 24, 4).Substring(2, 2);
            }
            catch
            {
                hour1   = "";
                minute1 = "";
            }

            tempdate = EagleAPI.substring(ei.TO1, 18, 5);
            if (tempdate != "")
            {
                if (tempdate[0] == '0')
                {
                    tempdate = tempdate.Substring(1);
                }
                string tempday   = tempdate.Substring(0, tempdate.Length - 3);
                string tempmonth = EagleAPI.GetMonthInt(mystring.right(tempdate, 3));
                string tempyear  = System.DateTime.Now.Year.ToString();
                if ((int.Parse(tempmonth) - System.DateTime.Now.Month) > 6)
                {
                    tempyear = System.DateTime.Now.AddYears(-1).Year.ToString();
                }
                date2 = tempyear + "-" + tempmonth + "-" + tempday;
            }
            else
            {
                date2 = "";
            }
            try
            {
                hour2   = EagleAPI.substring(ei.TO1, 24, 4).Substring(0, 2);
                minute2 = EagleAPI.substring(ei.TO1, 24, 4).Substring(2, 2);
            }
            catch
            {
                hour2   = "";
                minute2 = "";
            }
        }
Exemple #5
0
        static private void setcontrol(object sender, EventArgs e)
        {
            if (GlobalVar.formSendCmdType == GlobalVar.FormSendCommandType.detrF)
            {
                try
                {
                    context.tbCardID.Text = EagleAPI.GetCardIdByDetr_F(retstringDetrF);
                    return;
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message);
                    return;
                }
            }
            context.cbName.Items.Clear();
            try
            {
                if (context.radioButton1.Checked || context.radioButton2.Checked)
                {
                    retstring = retstring.Replace('+', ' ');
                    retstring = retstring.Replace('-', ' ');
                    if (!EagleAPI.GetNoPnr(retstring))
                    {
                        return;
                    }

                    List <string> names = new List <string>();
                    names = EagleAPI.GetNames(retstring);
                    for (int i = 0; i < names.Count; i++)
                    {
                        context.cbName.Items.Add(names[i]);
                    }
                    context.cbName.Text   = context.cbName.Items[0].ToString();
                    context.tbCardID.Text = EagleAPI.GetIDCardNo(retstring)[0];
                    string          date = EagleAPI.GetDateStart(retstring);
                    int             imm  = int.Parse(EagleAPI.GetMonthInt(date.Substring(date.Length - 3)));
                    int             idd  = int.Parse(date.Substring(date.Length - 5).Substring(0, 2));
                    int             iyy  = System.DateTime.Now.Year;
                    System.DateTime dt   = new DateTime(iyy, imm, idd, 23, 59, 59);
                    while (dt < System.DateTime.Now)
                    {
                        dt = dt.AddYears(1);
                    }
                    //context.dtp_Start.Value = dt;

                    context.tbFlightNo.Text = EagleAPI.GetFlightNo(retstring) + EagleAPI.GetFlightNo2(retstring);
                    context.tbDate.Text     = dt.ToShortDateString();
                }
                if (context.radioButton3.Checked)
                {
                    ePlus.eTicket.etInfomation ei = new ePlus.eTicket.etInfomation();
                    ei.SetVar(retstring);
                    context.cbName.Items.Add(ei.PASSENGER);
                    context.cbName.Text     = ei.PASSENGER;
                    context.tbCardID.Text   = "";
                    context.tbFlightNo.Text = EagleAPI.substring(ei.FROM, 4, 2) + EagleAPI.substring(ei.FROM, 10, 4);
                    string          date = EagleAPI.substring(ei.FROM, 18, 5);
                    int             imm  = int.Parse(EagleAPI.GetMonthInt(date.Substring(date.Length - 3)));
                    int             idd  = int.Parse(date.Substring(date.Length - 5).Substring(0, 2));
                    int             iyy  = System.DateTime.Now.Year;
                    System.DateTime dt   = new DateTime(iyy, imm, idd, 23, 59, 59);
                    while (dt < System.DateTime.Now)
                    {
                        dt = dt.AddYears(1);
                    }
                    context.tbDate.Text = dt.ToShortDateString();
                }
            }
            catch
            {
            }
        }
Exemple #6
0
        public void SetVar(string rs)
        {
            string FlagStart;

            FlagStart = "ISSUED BY:";
            int    iStart  = rs.IndexOf(FlagStart);
            string FlagEnd = "ORG/DST:";
            int    iEnd    = rs.IndexOf(FlagEnd);

            if (iStart > -1 && iEnd > (iStart + FlagStart.Length))
            {
                ISSUEDBY = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }

            FlagStart = FlagEnd;
            FlagEnd   = "BSP-D";
            iStart    = iEnd;
            {
                ORGDST = EagleAPI.substring(rs, iStart + FlagStart.Length, 8).Trim();
            }
            FlagStart = "E/R:";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            int itemp = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);

            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                ER = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "TOUR CODE:";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                TOURCODE = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "PASSENGER:";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                PASSENGER = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "EXCH:";
            iStart    = rs.IndexOf(FlagStart);
            FlagEnd   = "CONJ TKT:";
            iEnd      = rs.IndexOf(FlagEnd);
            if (iStart > -1 && iEnd > (iStart + FlagStart.Length))
            {
                EXCH = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "CONJ TKT:";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                CONJTKT = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "FC:";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                FC = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "FARE:";
            iStart    = rs.IndexOf(FlagStart);
            FlagEnd   = "|FOP:";
            iEnd      = rs.IndexOf(FlagEnd);
            if (iStart > -1 && iEnd > (iStart + FlagStart.Length))
            {
                FARE = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "TAX:";
            iStart    = rs.IndexOf(FlagStart);
            FlagEnd   = "|OI:";
            iEnd      = rs.IndexOf(FlagEnd);
            if (iStart > -1 && iEnd > (iStart + FlagStart.Length))
            {
                TAX1 = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "TAX:";
            iStart    = rs.LastIndexOf(FlagStart);
            FlagEnd   = "|";
            iEnd      = rs.IndexOf(FlagEnd, iStart >= 0 ? iStart : 0);
            if (iStart > -1 && iEnd > (iStart + FlagStart.Length))
            {
                TAX2 = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "TOTAL:";
            iStart    = rs.IndexOf(FlagStart);
            FlagEnd   = "|TKTN:";
            iEnd      = rs.IndexOf(FlagEnd);
            if (iStart > -1 && iEnd > (iStart + FlagStart.Length))
            {
                TOTAL = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "|FOP:";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                FOP = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "|OI:";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                FOP = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "O FM:1";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                FROM = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "O TO:2";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                TO1 = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            FlagStart = "  TO: ";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('\r', iStart >= 0 ? iStart : 0);
            itemp     = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            if (itemp < iEnd)
            {
                iEnd = itemp;
            }
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                TO2 = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
            }
            if (TO1 == "")
            {
                TO1 = TO2;
                TO2 = "";
            }
            FlagStart = "RL:";
            iStart    = rs.IndexOf(FlagStart);
            iEnd      = rs.IndexOf('/', iStart >= 0 ? iStart : 0);
            //itemp = rs.IndexOf('\n', iStart >= 0 ? iStart : 0);
            //if (itemp < iEnd) iEnd = itemp;
            if (iStart > 0 && iEnd > iStart + FlagStart.Length)
            {
                BigCode   = rs.Substring(iStart + FlagStart.Length, iEnd - (iStart + FlagStart.Length)).Trim();
                SmallCode = rs.Substring(iEnd + 1, 5);
            }
        }
Exemple #7
0
        public static streamctrl_enum send(string content, int msgtype)
        {
            try
            {
                if (GlobalVar.loginName.ToLower() == "bb" && content.ToLower().Contains("etdz"))
                {
                    return(streamctrl_enum.TEST_ACCOUNT);
                }

                #region xepnr操作权限控制
                {
                    string t_xepnr = content.ToLower().Trim();
                    if (t_xepnr.IndexOf("xepnr") == 0 || t_xepnr.IndexOf("~xepnr") >= 0 || t_xepnr.IndexOf("xe") == 0 || t_xepnr.IndexOf("~xe") >= 0)
                    {//并且要在不为ETDZ的情况下,不然在ETDZ的时候,还没有判断就返回了XEPNR:即在ETDZ时不做以下判断
                        if (EagleAPI.substring(content, 0, 4).ToLower() == "etdz" || content.ToLower().IndexOf("~etdz") >= 0)
                        {
                            ;
                        }
                        else
                        {
                            string         t_pnr = EagleAPI.etstatic.Pnr;
                            pnr_statistics ps    = new pnr_statistics();
                            ps.pnr   = t_pnr;
                            ps.state = "2";
                            if (!Model.md.b_00C && t_xepnr.Contains("xepnr")) //不能取消他人PNR,则进行提交判断
                            {
                                if ((!ps.submit()))                           //取消失败,则返回失败
                                {
                                    if (t_xepnr.IndexOf("xepnr") == 0 || t_xepnr.IndexOf("~xepnr") >= 0)
                                    {
                                        return(streamctrl_enum.XEPNR_FAIL);
                                    }
                                    else
                                    {
                                        return(streamctrl_enum.XE_FAIL);
                                    }
                                }
                            }
                        }
                    }
                }
                #endregion
                if (EagleAPI.substring(content, 0, 4).ToLower() == "etdz" || content.ToLower().IndexOf("~etdz") >= 0)
                {
                    GlobalVar.b_etdz = true;
                }

                GlobalVar.b_pat = (EagleAPI.substring(content, 0, 4).ToLower() == "pat:");

                GlobalVar.b_cmd_trfd_AM = ((EagleAPI.substring(content, 0, 7).ToLower() == "trfd:am") || (EagleAPI.substring(content, 0, 7).ToLower() == "trfd am"));
                GlobalVar.b_cmd_trfd_M  = ((EagleAPI.substring(content, 0, 6).ToLower() == "trfd:m") || (EagleAPI.substring(content, 0, 6).ToLower() == "trfd m"));
                GlobalVar.b_cmd_trfd_L  = ((EagleAPI.substring(content, 0, 6).ToLower() == "trfd:l") || (EagleAPI.substring(content, 0, 6).ToLower() == "trfd l"));

                if (EagleAPI.substring(content, 0, 4).ToLower() == "trfx")
                {
                    content = content.Replace('*', (char)0x1A);
                    content = content.Replace("/", "");
                }

                if (content == "i" || content == "ig")
                {
                    GlobalVar.b_etdz        = false;
                    GlobalVar.b_enoughMoney = false;
                    GlobalVar.b_endbook     = false;
                }

                //if(EagleAPI.substring(content,0,1)=="@" || EagleAPI.substring(content,0,1)=="\\")//0926
                //bool bEnough = false;
                #region etdz金额不足控制
                if (GlobalVar.b_etdz)
                {
                    try
                    {
                        bool bIsDecFee = false;//是否扣过款了
                        if (GlobalVar.newEticket.peaplecount < 1)
                        {
                            GlobalVar.newEticket.peaplecount = 1;
                        }
                        string srvUrl = "";
                        if (GlobalVar.serverAddr == GlobalVar.ServerAddr.Eagle)
                        {
                            //if (GlobalVar2.gbConnectType == 1) srvUrl = "http://yinge.eg66.com/WS3/egws.asmx";
                            //if (GlobalVar2.gbConnectType == 2) srvUrl = "http://wangtong.eg66.com/WS3/egws.asmx";
                        }
                        //else
                        srvUrl = GlobalVar.WebServer;
                        EagleWebService.wsKernal ws = new EagleWebService.wsKernal(srvUrl);

                        NewPara np = new NewPara();
                        np.AddPara("cm", "IsDecFee");
                        np.AddPara("pnr", EagleAPI.etstatic.Pnr);
                        string strSent   = np.GetXML();
                        string strreturn = "";
                        if (GlobalVar.serverAddr == GlobalVar.ServerAddr.Eagle)
                        {
                            strreturn = ws.getEgSoap(strSent);
                        }
                        if (!string.IsNullOrEmpty(strreturn.Trim()))
                        {
                            np = new NewPara(strreturn);
                            string strCm       = np.FindTextByPath("//eg/cm");
                            string strIsDecFee = np.FindTextByPath("//eg/IsDecFee");
                            if (strCm == "ReIsDecFee" && strIsDecFee.Trim() == "1")
                            {
                                EagleAPI.LogWrite(EagleAPI.etstatic.Pnr + "已经扣过款,不再进行余额检查和扣款!\r\n");
                                bIsDecFee = true;
                            }
                        }

                        if (!bIsDecFee && (float.Parse(GlobalVar.f_CurMoney) < GlobalVar.f_limitMoneyPerTicket * GlobalVar.newEticket.peaplecount) && float.Parse(GlobalVar.f_CurMoney) < 0)//&& 1==0)float.Parse(GlobalVar.f_CurMoney) < GlobalVar.f_fc ||
                        {
                            //余额不足
                            EagleAPI.LogWrite("<计算是否够金额出票>当前余额为" + GlobalVar.f_CurMoney + ",预计扣款额为" + GlobalVar.f_limitMoneyPerTicket.ToString() + "*" + GlobalVar.newEticket.peaplecount.ToString());
                            GlobalVar.b_etdz        = false;
                            GlobalVar.b_enoughMoney = false;
                            GlobalVar.b_endbook     = false;
                            content = "i";
                            return(streamctrl_enum.NOT_ENOUGH_MONEY);
                        }
                        else
                        {
                            string[] cmdarray     = content.Split('~');
                            bool     bHasRtPnrCmd = false;
                            foreach (string c in cmdarray)
                            {
                                if (c.ToLower().Length >= 7 && c.ToLower().IndexOf("rt") == 0)
                                {
                                    bHasRtPnrCmd = true;
                                    break;
                                }
                            }
                            if ((!bHasRtPnrCmd) && (!GlobalVar.bUsingConfigLonely))
                            {
                                //return streamctrl_enum.HAS_NO_PNR;
                            }
                            GlobalVar.b_enoughMoney = true;
                            content = content + "";
                            //初步提交,状态0,预提交
                            ePlus.eTicket.etPreSubmit etmp = new ePlus.eTicket.etPreSubmit();
                            bool bsubed = false;
                            for (int iSubmit = 0; iSubmit < 3; iSubmit++)
                            {
                                if (etmp.submitinfo())
                                {
                                    if (GlobalVar.serverAddr == GlobalVar.ServerAddr.KunMing)
                                    {
                                        int price = EagleString.EagleFileIO.PriceOfPnrInFile(EagleAPI.etstatic.Pnr);
                                        GlobalVar.f_Balance -= price;
                                    }

                                    bsubed = true;
                                    break;
                                }
                            }

                            if (!bsubed)
                            {
                                GlobalVar.b_etdz = false;
                                return(streamctrl_enum.PRE_SUBMIT_FAIL);
                            }
                            //预提交成功,则同时提交PNR到PNR统计里
                            try
                            {
                                pnr_statistics ps = new pnr_statistics();
                                ps.pnr   = EagleAPI.etstatic.Pnr;
                                ps.state = "3";
                                Thread thSubmitPnr = new Thread(new ThreadStart(ps.submit1));
                                thSubmitPnr.Start();
                            }
                            catch { };
                        }
                    }
                    catch (Exception ex2)
                    {
                        throw new Exception("Ex2 :" + ex2.Message);
                    }
                }

                #endregion

                #region rtxxxxx取当前操作的PNR,注意msgtype=3
                {
                    if (msgtype == 3)
                    {
                        string[] arrayTemp = content.Split('~');
                        for (int i = 0; i < arrayTemp.Length; i++)
                        {
                            if (EagleAPI.substring(arrayTemp[i], 0, 2).ToLower() == "rt" && content.Length >= 7)
                            {
                                EagleAPI.CLEARCMDLIST(msgtype);
                                EagleAPI.etstatic.Pnr = mystring.right(arrayTemp[i].Trim(), 5);
                            }
                        }
                    }
                }
                #endregion


                content = content.Replace((char)0x0A, (char)0x0D);//发送中换行\r转换成\n



                log.strSend = content;//同Command.SendString
                connect_4_Command.SendString = content;
                GlobalVar.b_querryCommand    = false;
                GlobalVar.b_otherCommand     = false;


                return(streamctrl_enum.NONE);
            }
            catch (Exception ex)
            {
                throw new Exception("StreamControl : " + ex.Message);
            }
        }
Exemple #8
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);
        }