Example #1
0
        private void inputPaymentBtn_Click(object sender, RoutedEventArgs e)
        {
            string paymentStr = paymentTxt.Text.Trim();
            int    payment;

            bool success = int.TryParse(paymentStr, out payment);

            if (!success)
            {
                errorLbl.Text = "Payment must be a number!";
            }
            else
            {
                int change = totalPrice - payment;
                if (change > 0)
                {
                    errorLbl.Text = "Payment is not enough!";
                }
                else
                {
                    TicketMediator mediator = new TicketMediator();
                    TicketFactory  factory  = new TicketFactory();

                    changeLbl.Text = "Change = \t\tRp. " + Math.Abs(change).ToString();

                    ticketList = new List <Ticket>();

                    for (int i = 0; i < quantity; i++)
                    {
                        ticketList.Add(mediator.addTicket(factory.generateTicket()));
                    }

                    TicketTransactionMediator tmediator = new TicketTransactionMediator();
                    TicketTransactionFactory  tfactory  = new TicketTransactionFactory();

                    foreach (Ticket ticket in ticketList)
                    {
                        TicketTransaction transaction = tmediator.addTicketTransaction(tfactory.createNewTicketTransaction(ticket.ticketID));
                        if (transaction == null)
                        {
                            MessageBox.Show("Buy ticket failed!");
                            return;
                        }
                    }

                    MessageBox.Show("Buy ticket success!");
                    nextBarcodeBtn.Visibility = Visibility.Visible;
                    qr = new QRCode(ticketList.ElementAt(counter));
                    qr.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
                    qr.Show();
                }
            }
        }
Example #2
0
        public void add(int employeeId, int quantity)
        {
            TicketTransaction t = TicketTransactionFactory.create(employeeId, quantity);

            TicketTransactionRepository.add(t);
        }