Exemple #1
0
        private void lblSeat_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(this.lblMovieName.Text))
            {
                MessageBox.Show("您还没选择电影!", "提示");
                return;
            }
            ticket++;
            try
            {
                string seatNum      = ((Label)sender).Text.ToString();
                string customerName = this.txtCustomer.Text.ToString();
                int    discount     = 0;
                string type         = "";
                if (this.rdoStudent.Checked)
                {
                    type = "student";
                    if (this.cmbDisCount.Text == null)
                    {
                        MessageBox.Show("请输入折扣数!", "提示");
                        return;
                    }
                    else
                    {
                        discount = int.Parse(this.cmbDisCount.Text);
                    }
                }
                else if (this.rdoFree.Checked)
                {
                    if (String.IsNullOrEmpty(this.txtCustomer.Text))
                    {
                        MessageBox.Show("请输入赠票者姓名!", "提示");
                        return;
                    }
                    else
                    {
                        type = "free";
                    }
                }


                //调用工具类创建票
                Ticket newTicket = TicketUtil.CreateTicket(cinema.Schedule.Items[key], cinema.Seats[seatNum],
                                                           discount, customerName, type);
                if (cinema.Seats[seatNum].Color == Color.Yellow)
                {
                    string a = seatNum;
                    a = a.Replace("-", "");
                    char[] b      = a.ToCharArray();
                    string number = b[0].ToString();
                    if (number == "5")
                    {
                        DialogResult result;
                        result = MessageBox.Show("是否购买情侣座?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                        if (result == DialogResult.Yes)
                        {
                            cinema.Seats[seatNum].Color = Color.Red;
                            UpdateSeat();
                            newTicket.CalcPrice();
                            cinema.SoldTickets.Add(newTicket);
                            lblCalcPrice.Text = newTicket.Price.ToString();
                            newTicket.Print();
                        }
                        else if (result == DialogResult.No)
                        {
                            return;
                        }
                    }
                    //打印
                    else
                    {
                        DialogResult result;
                        result = MessageBox.Show("是否购买?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                        if (result == DialogResult.Yes)
                        {
                            cinema.Seats[seatNum].Color = Color.Red;
                            UpdateSeat();
                            newTicket.CalcPrice();
                            cinema.SoldTickets.Add(newTicket);
                            lblCalcPrice.Text = newTicket.Price.ToString();
                            newTicket.Print();
                        }
                        else if (result == DialogResult.No)
                        {
                            return;
                        }
                    }
                }
                else
                {
                    //显示当前售出票的信息
                    foreach (Ticket ticket0 in cinema.SoldTickets)
                    {
                        //判断是否为同场次、同电影、同座位号
                        if (ticket0.Seat.SeatNum == seatNum && ticket0.ScheduleItem.Time == tvMovies.SelectedNode.Text && ticket0.ScheduleItem.Movie.MovieName == tvMovies.SelectedNode.Parent.Text)
                        {
                            ticket0.Show();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }