Пример #1
0
        private void checkOutButton_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 if (totalPrice == 0 || tax == 0)
            {
                errorLbl.Text = "Please input Seat ID!";
            }
            else
            {
                int change = (totalPrice + tax) - payment;
                if (change > 0)
                {
                    errorLbl.Text = "Payment is not enough!";
                }
                else if (change <= 0)
                {
                    SeatMediator  mediator      = new SeatMediator();
                    OrderMediator omediator     = new OrderMediator();
                    Order         customerOrder = omediator.getOrderBySeat(seatID);

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

                    RestaurantTransactionMediator tmediator   = new RestaurantTransactionMediator();
                    RestaurantTransactionFactory  tfactory    = new RestaurantTransactionFactory();
                    RestaurantTransaction         transaction = tmediator.addRestaurantTransaction(tfactory.createNewRestaurantTransaction(seatID));
                    if (tmediator.addDetailRestaurantTransaction(transaction.transactionID, customerOrder.orderID) == null)
                    {
                        MessageBox.Show("Checkout failed!");
                    }
                    else
                    {
                        MessageBox.Show("Checkout success!");
                    }

                    //update seat dan ordernya
                    Seat customerSeat = mediator.getSeat(seatID);
                    customerSeat.status  = "Available";
                    customerSeat         = mediator.updateSeat(seatID, customerSeat);
                    customerOrder.status = "Finished";
                    customerOrder        = omediator.updateOrder(customerOrder.orderID, customerOrder);
                }
            }
        }
Пример #2
0
        private void submitBtn_Click(object sender, RoutedEventArgs e)
        {
            string orderIDStr = orderIDTxt.Text.Trim();
            int    orderID;

            bool success = int.TryParse(orderIDStr, out orderID);

            if (!success)
            {
                errorLbl.Text = "Order ID is not a number";
            }
            else if (statusComboBox.SelectedItem == null)
            {
                errorLbl.Text = "Please input all field";
            }
            else
            {
                OrderMediator mediator = new OrderMediator();

                string status = (string)((ComboBoxItem)statusComboBox.SelectedValue).Content;
                Order  order  = mediator.getOrder(orderID);
                if (order == null)
                {
                    errorLbl.Text = "Order doesn't exist";
                }
                else
                {
                    order.status = status;
                    order        = mediator.updateOrder(orderID, order);
                    if (order == null)
                    {
                        MessageBox.Show("Change status failed!");
                    }
                    else
                    {
                        MessageBox.Show("Change Status success");
                    }
                    refresh();
                }
            }
        }