public bool DisplaySaveAccountInfo(Salesperson _salesperson, out bool maxAttemptsExceeded) { maxAttemptsExceeded = false; string userResponse; ConsoleUtil.HeaderText = "Save Account"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("The current account info."); DisplayAccountInfo(_salesperson); ConsoleUtil.DisplayMessage(""); userResponse = ConsoleValidator.GetYesNoFromUser(maxAttempts, "Save account info?", out maxAttemptsExceeded); if (maxAttemptsExceeded) { ConsoleUtil.DisplayMessage("It appears you are having difficult, we will return you" + "to the main menu"); return(false); } else { return(userResponse == "yes" ? true : false); } }
public bool DisplaySaveAccountInfo(Salesperson salesperson, out bool maxAttemptsExceeded) { string userResponse; maxAttemptsExceeded = false; ConsoleUtil.HeaderText = "Save Account"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("The current account information."); DisplayAccountInfo(salesperson, false); ConsoleUtil.DisplayMessage(""); userResponse = ConsoleValidator.GetYesNoFromUser(MAXIMUM_ATTEMPTS, "Save the account information?", out maxAttemptsExceeded); if (maxAttemptsExceeded) { ConsoleUtil.DisplayMessage("It appears you are having difficulty. You will return to the main menu."); return(false); } else { // // Note use of ternary operator. // return(userResponse.ToLower() == "yes" ? true : false); } }
/// <summary> /// queries user to load account information /// </summary> /// <param name="salesperson">Salesperson object</param> /// <param name="maxAttemptsExceeded">maximum attempts exceeded flag</param> /// <returns>user choice</returns> public bool DisplayLoadAccountInfo(out bool maxAttemptsExceeded) { string userResponse; maxAttemptsExceeded = false; ConsoleUtil.HeaderText = "Load Account"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(""); userResponse = ConsoleValidator.GetYesNoFromUser(MAXIMUM_ATTEMPTS, "Load the account information?", out maxAttemptsExceeded); if (maxAttemptsExceeded) { ConsoleUtil.DisplayMessage("It appears you are having difficulty. You will return to the main menu."); return(false); } else { // // note use of ternary operator // return(userResponse == "YES" ? true : false); } }
public bool DisplayLoadAccountInfo(out bool maxAttemptsExceeded) { maxAttemptsExceeded = false; string userResponse; ConsoleUtil.HeaderText = "Load Account"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(""); userResponse = ConsoleValidator.GetYesNoFromUser(maxAttempts, "Load account info?", out maxAttemptsExceeded); if (maxAttemptsExceeded) { ConsoleUtil.DisplayMessage("It appears you are having difficult, we will return you" + "to the main menu"); } else { maxAttemptsExceeded = true; return(userResponse == "yes" ? true : false); } return(maxAttemptsExceeded); }
/// <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(); ConsoleUtil.HeaderText = "Account Setup"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayPromptMessage("First Name: "); _salesperson.FirstName = UppercaseFirst(Console.ReadLine()); ConsoleUtil.DisplayPromptMessage("Last Name: "); _salesperson.LastName = UppercaseFirst(Console.ReadLine()); ConsoleUtil.DisplayPromptMessage("Account ID: "); _salesperson.AccountID = Console.ReadLine(); if (!ConsoleValidator.TryGetIntegerFromUser(18, 100, 3, "Age", out int userInteger)) { Console.WriteLine("Looks like you are having trouble with your age. Clearly you are old as dirt, setting age to 100."); _salesperson.Age = 100; } _salesperson.Age = userInteger; string userResponse = ConsoleValidator.GetYesNoFromUser(3, "Are you a hockey fan?", out bool maxAttemptsExceeded); if (maxAttemptsExceeded) { Console.WriteLine("Not valid answer. You must not be a hockey fan."); } if (userResponse == "yes") { _salesperson.IsHockeyFan = true; } else { _salesperson.IsHockeyFan = false; } ConsoleUtil.DisplayMessage("Product Types"); ConsoleUtil.DisplayMessage(""); // // list all product types // foreach (string productTypeName in Enum.GetNames(typeof(Product.ProductType))) { // // do not display the "NONE" enum value // if (productTypeName != Product.ProductType.None.ToString()) { ConsoleUtil.DisplayMessage(productTypeName); } } // // get product type, if invalid entry, set type to "None" // ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Enter the product type: "); Product.ProductType productType; if (Enum.TryParse <Product.ProductType>(UppercaseFirst(Console.ReadLine()), out productType)) { _salesperson.Inventory.Type = productType; } else { _salesperson.Inventory.Type = Product.ProductType.None; } if (ConsoleValidator.TryGetIntegerFromUser(0, 100, 3, "units", out int numberOfUnits)) { _salesperson.Inventory.AddProducts(numberOfUnits); } else { ConsoleUtil.DisplayMessage("You did not enter a valid number of units."); ConsoleUtil.DisplayMessage("We will set your intentory to 0"); } _salesperson.Inventory.NumberOfUnits = numberOfUnits; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Your account is now setup"); return(_salesperson); }