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(); } } }
public void add(int employeeId, int quantity) { TicketTransaction t = TicketTransactionFactory.create(employeeId, quantity); TicketTransactionRepository.add(t); }