Beispiel #1
0
        }         //筛选

        private ClientWindow.AllBuyTicket SubmitTicketQuery(ClientWindow.TicketQueryInfo ticketQueryInfo)
        {
            ClientWindow.AllBuyTicket buyTickets = new ClientWindow.AllBuyTicket();
            ClientWindow.BuyTicket    buyTicket  = new ClientWindow.BuyTicket();

            /*
             * buyTicket.TrainID = 3;
             * buyTicket.EnterStationTimeIn = DateTime.Now.AddHours(1).ToString();
             * buyTicket.EnterStationTimeOut = DateTime.Now.AddHours(1.1).ToString();
             * buyTicket.EnterStationTime = buyTicket.EnterStationTimeIn + " - " + buyTicket.EnterStationTimeOut;
             * buyTicket.LeaveStationTimeIn = DateTime.Now.AddHours(2.3).ToString();
             * buyTicket.LeaveStationTimeOut = DateTime.Now.AddHours(2.4).ToString();
             * buyTicket.LeaveStationTime = buyTicket.EnterStationTimeIn + " - " + buyTicket.EnterStationTimeOut;
             * buyTicket.TimeTake = DateTime.Parse(buyTicket.LeaveStationTimeIn).AddTicks(DateTime.Parse(
             *      buyTicket.EnterStationTimeOut).Ticks).TimeOfDay.ToString();
             * buyTicket.TicketRemain = 3;
             * buyTicket.TicketPrice = 290;
             * buyTickets.Add(buyTicket);
             *
             * buyTicket.TrainID = 4;
             * buyTicket.EnterStationTimeIn = DateTime.Now.AddHours(2).ToString();
             * buyTicket.EnterStationTimeOut = DateTime.Now.AddHours(2.1).ToString();
             * buyTicket.EnterStationTime = buyTicket.EnterStationTimeIn + " - " + buyTicket.EnterStationTimeOut;
             * buyTicket.LeaveStationTimeIn = DateTime.Now.AddHours(3.3).ToString();
             * buyTicket.LeaveStationTimeOut = DateTime.Now.AddHours(3.4).ToString();
             * buyTicket.LeaveStationTime = buyTicket.EnterStationTimeIn + " - " + buyTicket.EnterStationTimeOut;
             * buyTicket.TimeTake = DateTime.Parse(buyTicket.LeaveStationTimeIn).AddTicks(DateTime.Parse(
             *      buyTicket.EnterStationTimeOut).Ticks).TimeOfDay.ToString();
             * buyTicket.TicketRemain = 15;
             * buyTicket.TicketPrice = 260;
             * buyTickets.Add(buyTicket);
             */

            return(buyTickets);
        }
Beispiel #2
0
 public BuyTicketWindow(ClientWindow.TicketQueryInfo ticketQueryInfo, string ExtraMsg)
 {
     InitializeComponent();
     canBuyTicket         = new ClientWindow.AllBuyTicket();
     this.ticketQueryInfo = ticketQueryInfo;
     InitTicket(ExtraMsg);
     listView.ItemsSource = canBuyTicket;
 }
        }         //确认线路

        private void CallBuyTicketWindow(string Enter, string Line, string Leave)
        {
            ClientWindow.TicketQueryInfo subinfo1 = new ClientWindow.TicketQueryInfo();
            subinfo1.EnterStationNumber = int.Parse(Enter);
            subinfo1.Line = int.Parse(Line);
            subinfo1.LeaveStationNumber = int.Parse(Leave);
            subinfo1.StartTime          = this.ticketQueryInfo.StartTime;
            subinfo1.EndTime            = this.ticketQueryInfo.EndTime;
            string        info1Msg      = Enter + "\n" + Line + "\n" + Leave + "\n" + ticketQueryInfo.StartTime.ToString() + "\n" + ticketQueryInfo.EndTime.ToString();
            TcpClient     tcpClient     = null;
            NetworkStream networkStream = null;

            try {
                tcpClient = new TcpClient();
                tcpClient.Connect(myIPAddress, ServerPort);                 //建立与服务器的连接
                networkStream = tcpClient.GetStream();
                if (networkStream.CanWrite)
                {
                    TTS_Core.QueryDataPackage data = new TTS_Core.QueryDataPackage(UserID, myIPAddress + ":" +
                                                                                   MyPort.ToString(), "server", TTS_Core.QUERYTYPE.K_TICKETINFO_QUERY, info1Msg);
                    byte[] sendBytes = data.DataPackageToBytes();                     //注册数据包转化为字节数组
                    networkStream.Write(sendBytes, 0, sendBytes.Length);
                }
                var newClient = tcpListener.AcceptTcpClient();
                var bytes     = ReadFromTcpClient(newClient);             //获取数据
                var package   = new TTS_Core.QueryDataPackage(bytes);
                subinfo1.EnterStationName = package.ExtraMsg.Split('\r')[0].Split('\n')[0];
                subinfo1.LineName         = package.ExtraMsg.Split('\r')[0].Split('\n')[1];
                subinfo1.LeaveStationName = package.ExtraMsg.Split('\r')[0].Split('\n')[2];
                info1Msg = package.ExtraMsg;
            }
            catch {
                MessageBox.Show("指定时段内无可选车次!");
                return;
            }
            finally {
                if (networkStream != null)
                {
                    networkStream.Close();
                }
                tcpClient.Close();
            }

            BuyTicketWindow buy = new BuyTicketWindow(subinfo1, info1Msg);

            buy.ShowDialog();
            if (buy.selectTicket.TrainID != 0)
            {
                allBuyTicket.Add(buy.selectTicket);
            }
        }         //调起买票窗体
 public LineSelect(ClientWindow.TicketQueryInfo ticketQueryInfo, string ExtraMsg,
                   ClientWindow.AllBuyTicket allBuyTicket, int type, string UserID, IPAddress myIPAddress, TcpListener tcpListener
                   , int MyPort, int ServerPort)
 {
     InitializeComponent();
     this.ticketQueryInfo = ticketQueryInfo;
     this.ExtraMsg        = ExtraMsg;
     this.allBuyTicket    = allBuyTicket;
     this.type            = type;
     this.UserID          = UserID;
     this.myIPAddress     = myIPAddress;
     this.tcpListener     = tcpListener;
     this.MyPort          = MyPort;
     this.ServerPort      = ServerPort;
     allinfo = new AllInfo();
     listview.ItemsSource = allinfo;
     InitListView();
 }