/// <summary> /// gets the number of untis to sell /// </summary> public int DisplayGetNumberUnitsToSell(Product product) { // // declare int variable to hold the number of units to sell // int numberOfUnitsToSell; ConsoleUtil.HeaderText = "Sell Inventory"; ConsoleUtil.DisplayReset(); if (!ConsoleValidator.TryGetIntegerFromUser(MINIMUM_BUYSELL_AMOUNT, MAXIMUM_BUYSELL_AMOUNT, MAXIMUM_ATTEMPTS, "products", out numberOfUnitsToSell)) { ConsoleUtil.DisplayMessage("Maximum sttempts exceeded!"); ConsoleUtil.DisplayMessage("By default, the number of products to sell will be set to zero."); numberOfUnitsToSell = 0; DisplayContinuePrompt(); } ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(numberOfUnitsToSell + " products have been subtracted from the inventory."); DisplayContinuePrompt(); return(numberOfUnitsToSell); }
/// <summary> /// setup the new salesperson object with the initial data /// Note: To maintain the pattern of only the Controller changing the data this method should /// return a Salesperson object with the initial data to the controller. For simplicity in /// this demo, the ConsoleView object is allowed to access the Salesperson object's properties. /// </summary> public Salesperson DisplaySetupAccount() { Salesperson salesperson = new Salesperson(); Product.ProductType productType; int numberOfUnits; 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.DisplayPromptMessage("Enter your Starting City: "); salesperson.StartingCity = Console.ReadLine(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.HeaderText = "Account Setup"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Please select which type of product you want to work with from below."); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Product Types:"); ConsoleUtil.DisplayMessage(""); Console.Write( "\t- Gilded" + Environment.NewLine + "\t- Spiked" + Environment.NewLine + "\t- Colorful" + Environment.NewLine + "\t- Vintage" + Environment.NewLine + "\t- Striped" + Environment.NewLine + "\t- Used" + Environment.NewLine); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Enter product selection: "); // // get product type from user // if (Enum.TryParse <Product.ProductType>(UppercaseFirst(Console.ReadLine()), out productType)) { salesperson.CurrentStock.Type = productType; } else { ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Seems like you entered an invalid product type."); ConsoleUtil.DisplayMessage("By default, your product type has been set to None."); salesperson.CurrentStock.Type = Product.ProductType.None; DisplayContinuePrompt(); } // // get number of products in inventory // ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"You have selected {productType} as your product type."); if (ConsoleValidator.TryGetIntegerFromUser(MINIMUM_BUYSELL_AMOUNT, MAXIMUM_BUYSELL_AMOUNT, MAXIMUM_ATTEMPTS, $"{productType} products to add to your inventory", out numberOfUnits)) { ConsoleUtil.DisplayReset(); salesperson.CurrentStock.AddProducts(numberOfUnits); ConsoleUtil.DisplayMessage($"Thank you! {numberOfUnits} {productType} products are now in your inventory!"); DisplayContinuePrompt(); } else { ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Maximum attempts exceeded!"); ConsoleUtil.DisplayMessage($"By default, the number of {productType} products in your inventory are now set to zero."); salesperson.CurrentStock.AddProducts(0); DisplayContinuePrompt(); } ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Your account is now setup!"); DisplayContinuePrompt(); return(salesperson); }