Example #1
0
        public void LookupProductsTest(bool expectedSuccess)
        {
            OrderManager           manager = OrderManagerFactory.Create();
            ProductsLookupResponse productslookupresponse = manager.LookupProducts();

            Assert.AreEqual(expectedSuccess, productslookupresponse.Success);
        }
        public void Execute()
        {
            Console.Clear();
            OrderManager manager = OrderManagerFactory.Create();

            string orderdate   = ConsoleIO.EnterOrderdate("Enter an order date in mm/dd/yyyy format, example 01/12/2015: ");
            int    ordernumber = ConsoleIO.EnterOrderNumber("Enter an order number, example 5 or 10: ");

            OrderLookupResponse orderlookupresponse = manager.LookupOrder(orderdate, ordernumber);

            if (orderlookupresponse.Success)
            {
                Order order = orderlookupresponse.order;
                Console.WriteLine("Enter the new order information: ");

                string customername = ConsoleIO.EnterCustomerName($"Enter the Customer Name ({order.CustomerName}): ", OrderActionType.Edit);
                customername = customername == "" ? order.CustomerName : customername;

                TaxesLookupResponse taxeslookupresponse = manager.LookupTaxes();
                string state = ConsoleIO.EnterState($"Enter the State(abbreviated form) ({order.State}): ", taxeslookupresponse.taxlist, OrderActionType.Edit);
                state = state == "" ? order.State : state;

                ProductsLookupResponse productslookupresponse = manager.LookupProducts();
                string producttype = ConsoleIO.EnterProductType($"Enter the Product Type from the above ({order.ProductType}): ", productslookupresponse.productlist, OrderActionType.Edit);
                producttype = producttype == "" ? order.ProductType : producttype;

                decimal area = ConsoleIO.EnterArea($"Minimum order size is 100 square feet. Enter the area ({order.Area}): ", OrderActionType.Edit);
                area = area == 0.00M ? order.Area : area;

                order = manager.GenerateOrderInfo(ordernumber, customername, state, producttype, area);
                Console.WriteLine("Below is the updated order Summary: ");
                ConsoleIO.DisplayOrderDetails(order, orderdate);

                char confirmorder = ConsoleIO.UserchoiceYesorNo("Are you sure you want to update the order? Enter Y or N: ");
                if (char.ToUpper(confirmorder) == 'Y')
                {
                    Response editorder = manager.ProcessOrder(order, orderdate, OrderActionType.Edit);
                    if (editorder.Success)
                    {
                        Console.WriteLine("Order updated successfully!");
                    }
                    else
                    {
                        Console.WriteLine("Order not updated. Please try again or contact IT!");
                    }
                }
            }
            else
            {
                Console.WriteLine(orderlookupresponse.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
        public ProductsLookupResponse LookupProducts()
        {
            ProductsLookupResponse productslookupresponse = new ProductsLookupResponse();

            productslookupresponse.productlist = _productRepository.LoadProducts();
            if (productslookupresponse.productlist.Count > 0)
            {
                productslookupresponse.Success = true;
            }
            else
            {
                productslookupresponse.Success = false;
                productslookupresponse.Message = $"No products or Product File doesn't exist. Please contact IT!";
            }
            return(productslookupresponse);
        }
Example #4
0
        public void Execute()
        {
            Console.Clear();
            OrderManager manager = OrderManagerFactory.Create();

            Console.WriteLine("Enter the new order information: ");
            string orderdate    = ConsoleIO.EnterFutureOrderdate("Enter a future order date in mm/dd/yyyy format, example 01/12/2020: ");
            string customername = ConsoleIO.EnterCustomerName("Enter the Customer Name: ", OrderActionType.Add);
            TaxesLookupResponse taxeslookupresponse = manager.LookupTaxes();
            string state = ConsoleIO.EnterState("Enter the State(abbreviated form): ", taxeslookupresponse.taxlist, OrderActionType.Add);
            ProductsLookupResponse productslookupresponse = manager.LookupProducts();
            string  producttype = ConsoleIO.EnterProductType("Enter the Product Type from the above: ", productslookupresponse.productlist, OrderActionType.Add);
            decimal area        = ConsoleIO.EnterArea("Minimum order size is 100 square feet. Enter the area: ", OrderActionType.Add);

            int   ordernumber = manager.Generateordernumber(orderdate);
            Order order       = manager.GenerateOrderInfo(ordernumber, customername, state, producttype, area);

            Console.WriteLine("Below is the New order Summary that you just entered: ");
            ConsoleIO.DisplayOrderDetails(order, orderdate);

            char confirmorder = ConsoleIO.UserchoiceYesorNo("Are you sure you want to place the order? Enter Y or N: ");

            if (char.ToUpper(confirmorder) == 'Y')
            {
                Response addorder = manager.ProcessOrder(order, orderdate, OrderActionType.Add);
                if (addorder.Success)
                {
                    Console.WriteLine("New Order saved successfully!");
                }
                else
                {
                    Console.WriteLine("New Order not saved. Please try again or contact IT!");
                }
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }