예제 #1
0
        public void Execute()
        {
            Console.Clear();

            OrderManager    manager      = OrderManagerFactory.Create();
            TaxesResponse   taxResponse  = manager.FindTaxes();
            ProductResponse prodResponse = manager.FindProducts();

            Console.WriteLine("         Edit Order        ");
            Console.WriteLine("--------------------------------");

            DateTime orderDatedit = ConsoleIO.GetOrderDate();
            int      orderNumber  = ConsoleIO.GetOrderNumber(orderDatedit);

            OrderLookupResponse selectOrder = manager.FindSelectOrder(orderNumber, orderDatedit);

            if (selectOrder.Success == false)
            {
                Console.WriteLine($"An error occurred: {selectOrder.Message}");
            }
            else
            {
                Order editOrder = selectOrder.IndivOrder;
                editOrder.OrderDate = orderDatedit;
                ConsoleIO console = new ConsoleIO();

                Console.WriteLine($"\nEnter Customer Name({editOrder.CustomerName}): ");
                string editedName = console.GetEditedName(editOrder);
                editedName = editOrder.CustomerName;

                Console.WriteLine("\nHere is the list of available states: ");
                ConsoleIO.DisplayTaxes(taxResponse.taxes);

                Console.WriteLine($"\nEnter a State ({editOrder.State}): ");
                string editedState = console.GetEditedState(editOrder, taxResponse.taxes);
                editOrder.State = editedState;

                ConsoleIO.ApplyTax(taxResponse.taxes, editOrder);

                Console.WriteLine("\nAvailable Product Types: ");
                ConsoleIO.DisplayProducts(prodResponse.products);

                Console.WriteLine($"\nEnter a Product Type ({editOrder.ProductType}): ");
                string editedProduct = console.GetEditedProduct(editOrder, prodResponse.products);
                editOrder.ProductType = editedProduct;

                ConsoleIO.ApplyProduct(prodResponse.products, editOrder);

                Console.WriteLine($"\nCurrent area ({editOrder.Area})");
                decimal area = ConsoleIO.GetEditedArea(editOrder);
                editOrder.Area = area;

                PutitAllTogether(editOrder);
                ConsoleIO.DisplayOneOrder(editOrder);

                string YayOrNay = ConsoleIO.GetYesorNo();

                if (YayOrNay.ToUpper() == "Y")
                {
                    OrderLookupResponse resp = manager.editOrder(editOrder, editOrder.OrderDate);
                    if (resp.Success == true)
                    {
                        Console.WriteLine($"Order Number {editOrder.OrderNumber} has been changed");
                    }
                }
                else if (YayOrNay.ToUpper() == "N")
                {
                    Console.WriteLine("\nEdits are cancelled");
                    Console.WriteLine("\nPress any key to continue");
                    Console.ReadKey();
                }
                else if (YayOrNay.Length > 1 || YayOrNay.Length < 1)
                {
                    ConsoleIO.GetYesorNo();
                }
            }

            Console.WriteLine("\nPress any key to continue");
            Console.ReadKey();
        }
예제 #2
0
        public void Execute()
        {
            OrderManager    manager      = OrderManagerFactory.Create();
            Order           newishOrder  = new Order();
            TaxesResponse   taxresponse  = manager.FindTaxes();
            ProductResponse prodresponse = manager.FindProducts();

            Console.Clear();
            Console.WriteLine("       Add an order");
            Console.WriteLine("***************************");

            DateTime orderDate  = ConsoleIO.GetFutureOrderDate();
            string   CustieName = ConsoleIO.GetAddInput();

            Console.WriteLine("\nHere is the list of approved States: ");
            ConsoleIO.DisplayTaxes(taxresponse.taxes);

            Console.WriteLine("Enter State Name: ");
            string Appliedstate = ConsoleIO.GetAddState(taxresponse.taxes);

            newishOrder.State        = Appliedstate;
            newishOrder.OrderDate    = orderDate;
            newishOrder.CustomerName = CustieName;

            ConsoleIO.ApplyTax(taxresponse.taxes, newishOrder);
            Console.WriteLine("\nHere are the available product types: ");
            ConsoleIO.DisplayProducts(prodresponse.products);

            Console.WriteLine("\nPlease choose your product: ");
            string productType = ConsoleIO.GetAddProduct(prodresponse.products);

            newishOrder.ProductType = productType;

            ConsoleIO.ApplyProduct(prodresponse.products, newishOrder);

            int area = ConsoleIO.GetArea();

            newishOrder.Area = area;

            PutitAllTogether(newishOrder);

            ConsoleIO.DisplayOneOrder(newishOrder);
            string userAnswer = ConsoleIO.GetYesorNo();

            if (userAnswer.ToUpper() == "Y")
            {
                AddOrderResponse addResponse = manager.addOrder(newishOrder, newishOrder.OrderDate);
                if (addResponse.Success)
                {
                    Console.WriteLine("The order has been added.");
                }
                else
                {
                    Console.WriteLine("Please try again. An error occurred");
                }
            }
            else
            {
                Console.WriteLine("The order was cancelled");
                Console.WriteLine("Press any key to continue");
                Console.ReadKey();
            }

            Console.WriteLine("Press any key to continue");
            Console.ReadKey();
        }