Ejemplo n.º 1
0
        private void InitTicket(string ExtraMsg)
        {
            string[] split = ExtraMsg.Split('\r');
            textBlock4.Text = split[0].Split('\n')[0];
            textBlock5.Text = split[0].Split('\n')[2];
            textBlock6.Text = split[0].Split('\n')[1];

            ClientWindow.BuyTicket ticket = new ClientWindow.BuyTicket();
            for (int i = 1; i < split.Length - 1; i++)
            {
                ticket.TrainID            = int.Parse(split[i].Split('\n')[0]);
                ticket.EnterStationTime   = split[i].Split('\n')[1];
                ticket.LeaveStationTimeIn = split[i].Split('\n')[2];
                DateTime dt = DateTime.Parse(split[i].Split('\n')[2]).AddTicks(-DateTime.Parse(split[i].Split('\n')[1]).Ticks);
                ticket.TimeTake         = (dt.Minute + dt.Hour * 60).ToString() + "min";
                ticket.TicketRemain     = int.Parse(split[i].Split('\n')[3]);
                ticket.TicketPrice      = double.Parse(split[i].Split('\n')[4]);
                ticket.LineName         = textBlock6.Text;
                ticket.EnterStationName = textBlock4.Text;
                ticket.LeaveStationName = textBlock5.Text;
                canBuyTicket.Add(ticket);
            }
            if (canBuyTicket.Count == 0)
            {
                MessageBox.Show("所选时间段内未找到车次!");
            }
        }
Ejemplo n.º 2
0
        }         //确认线路

        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);
            }
        }         //调起买票窗体
Ejemplo n.º 3
0
        }         //清空

        private void button2_Click(object sender, RoutedEventArgs e)
        {
            searchBuyTicket = new ClientWindow.AllBuyTicket();
            for (int i = 0; i < canBuyTicket.Count; i++)
            {
                searchBuyTicket.Add(canBuyTicket[i]);
            }             //Copy

            if (precision.IsChecked == true)
            {
                if (textBox_tic1.Text != string.Empty)
                {
                    for (int i = 0; i < searchBuyTicket.Count; i++)
                    {
                        if (searchBuyTicket[i].TrainID.ToString() != textBox_tic1.Text)
                        {
                            searchBuyTicket.Remove(searchBuyTicket[i]);
                            i--;
                        }
                    }
                }                 //TrainID
                if (textBox_tic2.Text != string.Empty)
                {
                    for (int i = 0; i < searchBuyTicket.Count; i++)
                    {
                        if (searchBuyTicket[i].EnterStationTime.ToString() != textBox_tic2.Text)
                        {
                            searchBuyTicket.Remove(searchBuyTicket[i]);
                            i--;
                        }
                    }
                }                 //EnterStationTime
                if (textBox_tic3.Text != string.Empty)
                {
                    for (int i = 0; i < searchBuyTicket.Count; i++)
                    {
                        if (searchBuyTicket[i].LeaveStationTimeIn.ToString() != textBox_tic3.Text)
                        {
                            searchBuyTicket.Remove(searchBuyTicket[i]);
                            i--;
                        }
                    }
                }                 //LeaveStationTimeIn
                if (textBox_tic4.Text != string.Empty)
                {
                    for (int i = 0; i < searchBuyTicket.Count; i++)
                    {
                        if (searchBuyTicket[i].TimeTake.ToString() != textBox_tic4.Text)
                        {
                            searchBuyTicket.Remove(searchBuyTicket[i]);
                            i--;
                        }
                    }
                }         //TimeTake
            }             //精确搜索

            else
            {
                if (textBox_tic1.Text != string.Empty)
                {
                    for (int i = 0; i < searchBuyTicket.Count; i++)
                    {
                        if (searchBuyTicket[i].TrainID.ToString().IndexOf(textBox_tic1.Text) == -1)
                        {
                            searchBuyTicket.Remove(searchBuyTicket[i]);
                            i--;
                        }
                    }
                }                 //TrainID
                if (textBox_tic2.Text != string.Empty)
                {
                    for (int i = 0; i < searchBuyTicket.Count; i++)
                    {
                        if (searchBuyTicket[i].EnterStationTime.ToString().IndexOf(textBox_tic2.Text) == -1)
                        {
                            searchBuyTicket.Remove(searchBuyTicket[i]);
                            i--;
                        }
                    }
                }                 //EnterStationTime
                if (textBox_tic3.Text != string.Empty)
                {
                    for (int i = 0; i < searchBuyTicket.Count; i++)
                    {
                        if (searchBuyTicket[i].LeaveStationTimeIn.ToString().IndexOf(textBox_tic3.Text) == -1)
                        {
                            searchBuyTicket.Remove(searchBuyTicket[i]);
                            i--;
                        }
                    }
                }                 //LeaveStationTimeIn
                if (textBox_tic4.Text != string.Empty)
                {
                    for (int i = 0; i < searchBuyTicket.Count; i++)
                    {
                        if (searchBuyTicket[i].TimeTake.ToString().IndexOf(textBox_tic4.Text) == -1)
                        {
                            searchBuyTicket.Remove(searchBuyTicket[i]);
                            i--;
                        }
                    }
                }         //TimeTake
            }             //模糊搜索

            if (textBox_tic5.Text != string.Empty)
            {
                int BuyNumber = -1;
                if (int.TryParse(textBox_tic5.Text, out BuyNumber) == false || BuyNumber < 0)
                {
                    MessageBox.Show("请输入正确的余票筛选数量!");
                    return;
                }
                for (int i = 0; i < searchBuyTicket.Count; i++)
                {
                    if (searchBuyTicket[i].TicketRemain < BuyNumber)
                    {
                        searchBuyTicket.Remove(searchBuyTicket[i]);
                        i--;
                    }
                }
            }             //TicketRemain
            if (textBox_tic6.Text != string.Empty)
            {
                int PriceUpper = -1;
                if (int.TryParse(textBox_tic6.Text, out PriceUpper) == false || PriceUpper <= 0)
                {
                    MessageBox.Show("请输入正确的价格筛选数量!");
                    return;
                }
                for (int i = 0; i < searchBuyTicket.Count; i++)
                {
                    if (searchBuyTicket[i].TicketPrice > PriceUpper)
                    {
                        searchBuyTicket.Remove(searchBuyTicket[i]);
                        i--;
                    }
                }
            }             //TicketPriceUpper
            if (textBox_tic7.Text != string.Empty)
            {
                int PriceLower = -1;
                if (int.TryParse(textBox_tic7.Text, out PriceLower) == false || PriceLower < 0)
                {
                    MessageBox.Show("请输入正确的价格筛选数量!");
                    return;
                }
                for (int i = 0; i < searchBuyTicket.Count; i++)
                {
                    if (searchBuyTicket[i].TicketPrice < PriceLower)
                    {
                        searchBuyTicket.Remove(searchBuyTicket[i]);
                        i--;
                    }
                }
            }             //TicketPriceLower
            if (checkBox_remain.IsChecked == true)
            {
                for (int i = 0; i < searchBuyTicket.Count; i++)
                {
                    if (searchBuyTicket[i].TicketRemain <= 0)
                    {
                        searchBuyTicket.Remove(searchBuyTicket[i]);
                        i--;
                    }
                }
            }             //仅看有余票

            listView.ItemsSource = searchBuyTicket;
        }         //筛选