Esempio n. 1
0
        static void Main(string[] args)
        {
            do
            {
                SessionHelpers currentSession = SessionHelpers.GetCurrentSession();

                MenuHelpers.AuthenticateUserMenu();

                ChooseMenuItemAggregate menuItems = MenuHelpers.GetMenuItemsForCurrentUser();

                do
                {
                    MenuHelpers.PrintMenu(menuItems, out int choice);
                    if (choice == 0)
                    {
                        currentSession.LogoutMe();
                        break;
                    }
                    if (choice == -1)
                    {
                        return;
                    }
                    menuItems = new ChooseMenuItemAggregate(menuItems[choice].SubItems);
                } while (true);
            } while (true);
        }
Esempio n. 2
0
        public static void PrintMenu(ChooseMenuItemAggregate menuItems, out int choice)
        {
            if (menuItems.Count == 0)
            {
                Console.WriteLine("Нещо не е наред!Необходимо е да се свържете с поддръжката!");
                choice = -1;
                return;
            }

            IChooseMenuIterator iter = menuItems.GetIterator();

            do
            {
                Console.Clear();

                for (ChooseMenuItem s = iter.FirstItem; iter.IsDone == false; s = iter.NextItem)
                {
                    Console.WriteLine($"{iter.CurrentIndex + 1}.{s.ItemText}");
                }

                Console.WriteLine("\n0.LogoutMe");
            } while (!int.TryParse(Console.ReadLine(), out choice) ||
                     menuItems.Count < choice || choice < 0);
        }
Esempio n. 3
0
        public static ChooseMenuItemAggregate GetMenuItemsForCurrentUser()
        {
            ChooseMenuItemAggregate menuItems = new ChooseMenuItemAggregate();

            switch (currentSession.Role)
            {
            case PersonRole.Boss:
                menuItems = new ChooseMenuItemAggregate(ChooseMenuFacade.GetBossMenu());
                break;

            case PersonRole.Workers:
                menuItems = new ChooseMenuItemAggregate(ChooseMenuFacade.GetWorkersMenu());
                break;

            case PersonRole.Clients:
                menuItems = new ChooseMenuItemAggregate(ChooseMenuFacade.GetClientsMenu());
                break;

            default:
                throw new NotImplementedException();
            }

            return(menuItems);
        }