Exemple #1
0
        public override void ExecuteUserChoice()
        {
            IMenu    nextMenu = null;
            Location selectedLocation;

            for (int i = 1; i < PossibleOptions.Count; i++)
            {
                if (selectedChoice == PossibleOptions.Count)
                {
                    Console.WriteLine("Going back, ZOOM");
                    nextMenu = new CustomerStartMenu(CurrentCustomer, ref Repo);
                    break;
                }

                if (selectedChoice == i)
                {
                    try
                    {
                        selectedLocation = AllLocations[i - 1];
                        nextMenu         = new CustomerOrderMenu(ref CurrentCustomer, ref selectedLocation, ref Repo);
                    }
                    catch (IndexOutOfRangeException e)
                    {
                        Log.Error(e.Message);
                    }
                }
            }

            MenuManager.Instance.ReadyNextMenu(nextMenu);
        }
Exemple #2
0
        public void GoBackToCustomerMenu()
        {
            IMenu nextMenu = new CustomerStartMenu(CurrentCustomer, ref Repo);

            Console.WriteLine("Going back, ZOOM");
            MenuManager.Instance.ReadyNextMenu(nextMenu);
        }
        public override void ExecuteUserChoice()
        {
            CustomerOrders = CustomerService.GetAllOrdersForCustomer(CurrentCustomer);

            List <Order> sortedOrderList = new List <Order>(CustomerOrders.Count);

            sortedOrderList = CustomerOrders;

            bool IsSortOrderForward = false;

            IMenu previousMenu = new CustomerStartMenu(CurrentCustomer, ref Repo);

            switch (selectedChoice)
            {
            case 1:
                sortedOrderList = CustomerOrders.OrderBy(o => o.Subtotal).ToList();
                OrderHistoryUtility.ProcessSortingByDate(ref IsSortOrderForward);
                break;

            case 2:
                sortedOrderList = CustomerOrders.OrderBy(o => o.TimeOrderWasPlaced).ToList();
                OrderHistoryUtility.ProcessSortingByPrice(ref IsSortOrderForward);
                break;

            case 3:
                Console.WriteLine("Going back.");
                MenuManager.Instance.ReadyNextMenu(previousMenu);
                return;

            //break;
            default:
                sortedOrderList = null;
                throw new NotImplementedException();
                //break;
            }

            try
            {
                OrderHistoryUtility.ShowOrderHistory(ref sortedOrderList, ref OrderService, IsSortOrderForward);
                Console.WriteLine("Really interesting list, right?");
            }
            catch (NullReferenceException e)
            {
                Console.WriteLine("No orders were found for this account. Cry about it, I suppose.");
                Log.Information($"{e.Message}");
            }

            MenuManager.Instance.ReadyNextMenu(previousMenu);
        }