コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }