예제 #1
0
        /// <summary>
        /// Prints a formatted list of the current contents of the cart. 
        /// </summary>
        /// <param name="CurrentProductInventory">A reference to the orders available inventory.</param>
        public void DisplayCart(Inventory CurrentProductInventory)
        {
            if (!(UniqueRecords > 0))
            {
                Console.WriteLine("There are currently no items in your cart.");
            }
            else
            {
                int qtySum = 0;
                int rowExtendedCost = 0;
                int grandTotalCost = 0;

                StringBuilder header = new StringBuilder();
                StringBuilder cartLine = null;

                header.Append(String.Format("{0, -7} ", "Record#"));
                header.Append(String.Format("{0, -20} ", "Title"));
                header.Append(String.Format("{0, -12} ", "Unit Cost"));
                header.Append(String.Format("{0, -10} ", "Quantity"));
                header.Append(String.Format("{0, -12} ", "Ext. Cost"));

                Console.WriteLine("\n************************** CART SUMMARY *************************");
                Console.WriteLine("-----------------------------------------------------------------");
                Console.WriteLine(header);
                Console.WriteLine("------- -------------------- ------------ ---------- ------------ ");

                foreach (KeyValuePair<int, int> cartRow in _CartContents)
                {
                    Product itemDetail = CurrentProductInventory.RetrieveProductById(cartRow.Key);

                    rowExtendedCost = itemDetail.UnitPrice * cartRow.Value;
                    qtySum += cartRow.Value;
                    grandTotalCost += rowExtendedCost;

                    cartLine = new StringBuilder();
                    cartLine.Append(String.Format("{0, -7} ", itemDetail.Id.ToString()));
                    cartLine.Append(String.Format("{0, -20} ", itemDetail.Title.Trim()));
                    cartLine.Append(String.Format("{0, -12} ", itemDetail.UnitPrice.ToString()));
                    cartLine.Append(String.Format("{0, -10} ", cartRow.Value.ToString()));
                    cartLine.Append(String.Format("{0, -12} ", rowExtendedCost.ToString()));

                    Console.WriteLine(cartLine);
                }

                Console.WriteLine("\nTotal Units in the cart: {0}", qtySum);
                Console.WriteLine("Cart Total Cost: {0} Sickles\n", grandTotalCost);
                Console.WriteLine("-----------------------------------------------------------------");
            }
        }
예제 #2
0
        /// <summary>
        /// Gets the total cost of the current cart
        /// </summary>
        /// <param name="CurrentProductInventory">Requires a reference to the current inventory object for current product pricing.</param>
        /// <returns>The total sum of the cost of all te itemsin the cart.</returns>
        public int GetCartTotalCost(Inventory CurrentProductInventory)
        {
            int rowCost = 0, grandTotal = 0;

            foreach (KeyValuePair<int, int> cartRow in _CartContents)
            {
                Product itemDetail = CurrentProductInventory.RetrieveProductById(cartRow.Key);

                rowCost = itemDetail.UnitPrice * cartRow.Value;
                grandTotal += rowCost;
            }

            return grandTotal;
        }