public void Execute()
        {
            ConsoleIO    consoleIO = new ConsoleIO();
            OrderManager manager   = OrderManagerFactory.Create();

            consoleIO.DisplayMessage("Edit Order");
            DateTime orderDate       = consoleIO.GetOrderDate();
            bool     orderDateExists = manager.OrderDateExists(orderDate);

            if (orderDateExists)
            {
                List <Order> tempList = manager.RequestOrdersByDate(orderDate);
                consoleIO.DisplayOrders(tempList);
                int   orderNumber       = consoleIO.GetOrderNumberTo("edit.");
                bool  orderNumberExists = manager.CheckIfOrderNumberExists(orderDate, orderNumber);
                Order editedOrder       = new Order();
                if (orderNumberExists)
                {
                    bool isAnEdit = true;
                    editedOrder.OrderNumber  = orderNumber;
                    editedOrder.Date         = orderDate;
                    editedOrder.CustomerName = consoleIO.GetCustomerName(isAnEdit);
                    consoleIO.DisplayStatesCurrentlyServiced(manager.GetListOfStateTaxes());
                    editedOrder.State = consoleIO.GetCustomerState();
                    consoleIO.DisplayProductTypes(manager.GetListOfAllProducts());
                    editedOrder.ProductType = consoleIO.GetProductFromCustomer();
                    editedOrder.Area        = consoleIO.GetAreaFromCustomer(isAnEdit);
                    ValidateOrderResponse response = manager.ValidateOrder(editedOrder, isAnEdit);
                    if (response.Success)
                    {
                        bool placeOrder = consoleIO.ConfirmOrderPlacement(editedOrder);
                        if (placeOrder)
                        {
                            manager.EditOrder(orderNumber, editedOrder);
                            consoleIO.DisplayOrderReponseMessage(response);
                        }
                        else
                        {
                            consoleIO.DisplayOrderReponseMessage(response);
                        }
                    }
                    else //response.success = false, displays a different message - order did not meet requirements
                    {
                        consoleIO.DisplayOrderReponseMessage(response);
                    }
                }
                else
                {
                    consoleIO.DisplayMessage("Order number was not found.");
                }
            }
            else
            {
                consoleIO.DisplayMessage("Order date was not found.");
            }
            consoleIO.PressAnyKeyToContinue();
        }
Ejemplo n.º 2
0
        internal void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Edit an Order");
            Console.WriteLine("------------------------------------");
            DateTime date        = ConsoleIO.GetDateFromUser();
            int      orderNumber = ConsoleIO.GetOrderNumberFromUser();
            var      orderToEdit = manager.GetOrderToEdit(date, orderNumber);

            if (!orderToEdit.Success)
            {
                Console.WriteLine(orderToEdit.Message);
                Console.ReadKey();
                return;
            }
            ConsoleIO.DisplayCustomerOrderDetails(orderToEdit.Order);
            string editedCustomerName = ConsoleIO.EditCustomerName(orderToEdit.Order.CustomerName);

            ConsoleIO.DisplayCustomerOrderDetails(orderToEdit.Order);
            string editedState = ConsoleIO.EditState(orderToEdit.Order.State);

            ConsoleIO.DisplayCustomerOrderDetails(orderToEdit.Order);
            List <Product> products = manager.GetAllProducts();

            ConsoleIO.DisplayProductsToUser(products);
            string editedProductType = ConsoleIO.EditProductType(orderToEdit.Order.ProductType);

            ConsoleIO.DisplayCustomerOrderDetails(orderToEdit.Order);
            decimal           editedArea      = ConsoleIO.EditArea(orderToEdit.Order.Area);
            DateTime          keepOrderDate   = orderToEdit.Order.Date;
            int               keepOrderNumber = orderToEdit.Order.OrderNumber;
            EditOrderResponse response        = manager.EditOrder(keepOrderDate, keepOrderNumber, editedCustomerName, editedState, editedProductType, editedArea);

            if (!response.Success)
            {
                Console.WriteLine(response.Message);
                Console.ReadKey();
            }
            else
            {
                ConsoleIO.DisplayOrderSummary(response.Order);
                Console.ReadKey();
                if (!ConsoleIO.ConfirmOrderPlacement())
                {
                    ConsoleIO.OrderCancelledMessage();
                }
                else
                {
                    manager.UpdateThisOrder(response.Order);
                    ConsoleIO.OrderPlacedMessage();
                }
            }
        }
Ejemplo n.º 3
0
        internal void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            //AddOrderResponse response = manager.BuildNewOrder(userDate, customerName, state, productType, area);

            Console.Clear();
            Console.WriteLine("Add an Order");
            Console.WriteLine("------------------------------------");
            DateTime userDate = ConsoleIO.GetDateFromUser();

            manager.CreateOrderDate(userDate);
            string         customerName = ConsoleIO.GetNameFromUser();
            string         state        = ConsoleIO.GetStateFromUser();
            List <Product> products     = manager.GetAllProducts();

            ConsoleIO.DisplayProductsToUser(products);
            string  productType = ConsoleIO.GetProductFromUser();
            decimal area        = ConsoleIO.GetAreaFromUser();

            AddOrderResponse response = manager.BuildNewOrder(userDate, customerName, state, productType, area);

            if (!response.Success)
            {
                Console.WriteLine(response.Message);
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
            else
            {
                ConsoleIO.DisplayOrderSummary(response.Order);
                Console.ReadKey();
                if (!ConsoleIO.ConfirmOrderPlacement())
                {
                    ConsoleIO.OrderCancelledMessage();
                }
                else
                {
                    manager.CommitOrder(response.Order);
                    ConsoleIO.OrderPlacedMessage();
                }
            }
        }