Exemplo n.º 1
0
        public void Execute()
        {
            string date;
            int    order;

            Console.Clear();
            Console.WriteLine("Please Enter the following information ");


            Console.Write("Order Date <MM/DD/YYY>: ");
            date = Console.ReadLine();

            Console.Write("Order Number : ");
            order = Convert.ToInt32(Console.ReadLine());


            string placeOrder = "";

            while (true)
            {
                Console.Clear();
                // Once caculations are completed (tax/product information), show summary with information
                //Output.DisplayIO.DisplayOrderSummary();
                IndividualOrderResponse orderResponse = OrderManagerFactory.Create().LocateOrder(date, order);
                if (orderResponse.Success)
                {
                    Output.DisplayIO.DisplayOrderSummary(date, orderResponse.Order);

                    //Console.WriteLine("TODO: DisplySummary of Order BEFORE Removing to Respository");
                    Console.Write("Do you want to remove the order (Y/N): ");
                    placeOrder = Console.ReadLine();
                    switch (placeOrder)
                    {
                    case "Y":
                        //Saved order number for the next availabe order #
                        DeleteOrderResponse deleteOrder = OrderManagerFactory.Create().DeleteOrder(date, order);
                        Console.WriteLine($"Removing from repository: {deleteOrder.Success}");
                        Console.ReadKey();
                        return;

                    case "N":
                        Console.WriteLine($"You will not remove Order {order} from repository");
                        Console.ReadKey();
                        return;
                    }
                }
                else
                {
                    Console.WriteLine(orderResponse.Message);
                    Console.ReadKey();
                    break;
                }
            }
        }
Exemplo n.º 2
0
        public void Execute()
        {
            string date;
            int    order;
            Order  editOrder = new Order();


            date = Input.OrderInformation.RequestingOrderDate(false);


            order = Input.OrderInformation.RequestOrderNumber();

            // If order exists (both condition are met), each piece of the order that can be
            // be editted will display one line at time.

            IndividualOrderResponse findIndResponse = OrderManagerFactory.Create().LocateOrder(date, order);

            if (findIndResponse.Success)
            {
                Order originalOrder = findIndResponse.Order;

                editOrder.Copy(originalOrder);


                Input.OrderInformation.RequestingCustomerName(editOrder, false);



                Input.OrderInformation.RequestingState(editOrder, false);


                Input.OrderInformation.RequestingProduct(editOrder, false);



                Input.OrderInformation.RequestingArea(editOrder, false);

                // if State, Product, or Area  are change, recalculate needs to be done.
                if (Validation.DoesEditedOrderNeedRecaluation(editOrder, originalOrder))
                {
                    Calculation.Field(editOrder);
                }


                Input.OrderInformation.RequestingToSaveOrder(date, editOrder);
            }
            else
            {
                Console.WriteLine(findIndResponse.Message);
                Console.ReadKey();
            }
        }
Exemplo n.º 3
0
        public IndividualOrderResponse LocateOrder(string date, int orderNumber)
        {
            IndividualOrderResponse response = new IndividualOrderResponse();

            response.Order = _orderRepository.RetrieveOneOrder(date, orderNumber);

            if (response.Order == null)
            {
                response.Success = false;
                response.Message = $"Unable to locate Order #{orderNumber} on {date}";
            }
            else
            {
                response.Success = true;
            }

            return(response);
        }