/// <summary> /// Runs operations for conducting a card payment /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void CardPayment(object sender, RoutedEventArgs e) { CashDrawerViewModel viewModel = new CashDrawerViewModel(order, "Card"); string cardResult = viewModel.CardOperations(); switch (cardResult) { case "Approved": OrderComponent orderController = this.FindControl <OrderComponent>(); orderController.DataContext = new Order(); ReturnToMenu.ReturnToMenuScreen(this, new MenuSelection()); break; case "Declined": MessageBox.Show(cardResult); break; case "Insufficient Funds": MessageBox.Show(cardResult); break; case "Incorrect Pin": MessageBox.Show(cardResult); break; case "Read Error": MessageBox.Show(cardResult); break; default: throw new NotImplementedException("Card Operation Not Recognized"); } }
/// <summary> /// Prints receipt, starts a new order /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void FinalizeSale(object sender, RoutedEventArgs e) { viewModel.FinalizeOrder(); OrderComponent orderController = this.FindControl <OrderComponent>(); orderController.DataContext = new Order(); ReturnToMenu.ReturnToMenuScreen(this, new MenuSelection()); }
/// <summary> /// return to menu to make any corrections before payment /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void ReturnToOrder(object sender, RoutedEventArgs e) { //bubble back up tree to find control I want to display OrderComponent orderController = this.FindControl <OrderComponent>(); orderController.DataContext = order; ReturnToMenu.ReturnToMenuScreen(this, new MenuSelection()); }
/// <summary> /// Returns to main menu screen to continue order process /// </summary> /// <param name="sender">object that sent event we are handling</param> /// <param name="e">parameters of event</param> void ReturnToMainMenu(object sender, RoutedEventArgs e) { ReturnToMenu.ReturnToMenuScreen(this, menu); }