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 TicketTransaction createNewTicketTransaction(int ticketID) { TicketTransactionMediator mediator = new TicketTransactionMediator(); TicketTransaction transaction = new TicketTransaction(); transaction.transactionID = mediator.getLastID() + 1; transaction.ticketID = ticketID; transaction.purchaseDate = DateTime.Now; transaction.employeeID = Session.getSession().employee.employeeID; return(transaction); }
private void viewTicketIncomeBtn_Click(object sender, RoutedEventArgs e) { int ticketPrice = 1000; TicketTransactionMediator mediator = new TicketTransactionMediator(); List <TicketTransaction> transactionList = mediator.getAllTicketTransaction(); totalIncomeLbl.Text = "Total Income = Rp. " + (transactionList.Count * ticketPrice).ToString(); transactionView.ItemsSource = transactionList; transactionIDTxt.Visibility = Visibility.Hidden; transactionIDLbl.Visibility = Visibility.Hidden; transactionDetailView.Visibility = Visibility.Hidden; }