private void ManageApplicationLoop() { MenuOption userMenuChoice; _consoleView.DisplayWelcomeScreen(); _salesperson = _consoleView.DisplaySetupAccount(); while (_usingApplication) { userMenuChoice = _consoleView.DisplayGetUserMenuChoice(); switch (userMenuChoice) { case MenuOption.None: break; case MenuOption.Travel: Travel(); break; case MenuOption.Buy: Buy(); break; case MenuOption.Sell: Sell(); break; case MenuOption.DisplayInventory: DisplayInventory(); break; case MenuOption.DisplayCities: DisplayCities(); break; case MenuOption.DisplayAccountInfo: DisplayAccountInfo(); break; case MenuOption.Exit: _usingApplication = false; break; default: break; } } _consoleView.DisplayClosingScreen(); Environment.Exit(1); }
public Controller() { //instantiate salesperson _salesperson = new Salesperson(); //instantiate the console view _consoleView = new ConsoleView(_salesperson); //call application loop manager method ManageApplicationLoop(); }
public Controller() { InitializeController(); _salesperson = new Salesperson(); _consoleView = new ConsoleView(); ManageApplicationLoop(); }
public void DisplayCitiesTraveled(Salesperson salesperson) { ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("You have traveled to the following cities."); ConsoleUtil.DisplayMessage(""); foreach (string city in salesperson.CitiesVisited) { ConsoleUtil.DisplayMessage(city); } DisplayContinuePrompt(); }
/// <summary> /// display the current account information /// </summary> public void DisplayAccountInfo(Salesperson salesperson) { ConsoleUtil.HeaderText = "Account Info"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("First Name: " + salesperson.FirstName); ConsoleUtil.DisplayMessage("Last Name: " + salesperson.LastName); ConsoleUtil.DisplayMessage("Account ID: " + salesperson.AccountID); ConsoleUtil.DisplayMessage("Product Type: " + salesperson.CurrentStock.Type); if (!salesperson.CurrentStock.OnBackorder) { ConsoleUtil.DisplayMessage("Units of Products in Inventory: " + salesperson.CurrentStock.NumberOfUnits); } else { ConsoleUtil.DisplayMessage("Units of Products on Backorder: " + Math.Abs(salesperson.CurrentStock.NumberOfUnits)); } DisplayContinuePrompt(); }
public ConsoleView(Salesperson salesperson) { _salesperson = salesperson; }
public Salesperson DisplaySetupAccount() { Salesperson salesperson = new Salesperson(); ConsoleUtil.HeaderText = "Account Setup"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Setup your account now."); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Enter your first name: "); salesperson.FirstName = Console.ReadLine(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Enter your last name: "); salesperson.LastName = Console.ReadLine(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Enter your account ID: "); salesperson.AccountID = Console.ReadLine(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Product Types"); ConsoleUtil.DisplayMessage(""); foreach (string productTypeName in Enum.GetNames(typeof(Product.ProductType))) { if (productTypeName != Product.ProductType.None.ToString()) { ConsoleUtil.DisplayMessage(productTypeName); } } ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Enter the product type: "); Product.ProductType productType; if (Enum.TryParse <Product.ProductType>(UppercaseFirst(Console.ReadLine()), out productType)) { salesperson.CurrentStock.Type = productType; } else { salesperson.CurrentStock.Type = Product.ProductType.None; } if (ConsoleValidator.TryGetIntegerFromUser(0, 100, 3, "products", out int numberOfUnits)) { salesperson.CurrentStock.AddProducts(numberOfUnits); } else { ConsoleUtil.DisplayMessage("It appears you are having difficulty setting the number of products in your stock."); ConsoleUtil.DisplayMessage("By default, the number of products in your inventory are now set to zero."); salesperson.CurrentStock.AddProducts(0); DisplayContinuePrompt(); } ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Your account has been setup"); DisplayContinuePrompt(); return(salesperson); }