示例#1
0
        /// <summary>
        /// 客户端提交.
        /// </summary>
        /// <returns></returns>
        public override ASyncResult Commit()
        {
            ASyncResult Result = null;

            base.Connect();
            string PnrCode = string.Empty;

            SendStream(CreateSynCmd());
            byte[] Buffer = GetStream();
            if (Regex.IsMatch(ConvertResult(Buffer), @"封口", RegexOptions.IgnoreCase | RegexOptions.Multiline))
            {
                ThreadSleep();
                addAdult("胡李俊");
                addSSR_FOID(base.airSegList[0].getairNo.Substring(0, 2), "93747237293729462", "胡李俊");
                this.setTimelimit = airSegList[0].departureTime.AddSeconds(30 * 60 * -1);        //30分钟
                addContact(new BookContact("SHA", "12345678", "HULIJUN"));
                SendStream(createSynCmd());
                Buffer  = GetStream();
                PnrCode = (base.ResultAdapter(ConvertResult(Buffer)) as SSResult).getPnr;
                if (!string.IsNullOrEmpty(PnrCode))
                {
                    SendStream(string.Format(@"RT:{0}", PnrCode));
                    GetStream();
                }
                IsOneOff = true;
            }
            ThreadSleep();
            SendStream(@"PAT:A");
            IEnumerator <PATResult> PAT = new PATCommand().ParseSFC(ConvertResult(GetStream())).GetEnumerator();

            while (PAT.MoveNext())
            {
                //Dispose();
                Result = PAT.Current;
                break;
            }
            Dispose();
            if (IsOneOff && !string.IsNullOrEmpty(PnrCode))
            {
                new CPnrCommand().Commit(PnrCode);
            }
            return(Result);
        }
示例#2
0
 /// <summary>
 /// 客户端提交.
 /// </summary>
 /// <returns></returns>
 public override ASyncResult Commit()
 {
     ASyncResult Result = null;
     base.Connect();
     string PnrCode=string.Empty;
     SendStream(CreateSynCmd());
     byte[] Buffer = GetStream();
     if (Regex.IsMatch(ConvertResult(Buffer),@"封口", RegexOptions.IgnoreCase | RegexOptions.Multiline))
     {
         ThreadSleep();
         addAdult("胡李俊");
         addSSR_FOID(base.airSegList[0].getairNo.Substring(0,2), "93747237293729462", "胡李俊");
         this.setTimelimit = airSegList[0].departureTime.AddSeconds(30 * 60*-1);        //30分钟
         addContact(new BookContact("SHA", "12345678", "HULIJUN"));
         SendStream(createSynCmd());
         Buffer = GetStream();
         PnrCode = (base.ResultAdapter(ConvertResult(Buffer)) as SSResult).getPnr;
         if (!string.IsNullOrEmpty(PnrCode))
         {
             SendStream(string.Format(@"RT:{0}", PnrCode));
             GetStream();
         }
         IsOneOff = true;
     }
     ThreadSleep();
     SendStream(@"PAT:A");
     IEnumerator<PATResult> PAT= new PATCommand().ParseSFC(ConvertResult(GetStream())).GetEnumerator();
     while (PAT.MoveNext()) {
         //Dispose();
         Result= PAT.Current;
         break;
     }
     Dispose();
     if (IsOneOff&&!string.IsNullOrEmpty(PnrCode)) {
         new CPnrCommand().Commit(PnrCode);
     }
     return Result;
 }