Пример #1
0
        public static void AdminMenu()
        {
            String input;
            int    ans;
            int    flag = 0;

            do
            {
                Console.WriteLine("1:EXIT");
                Console.WriteLine("2:Change user role");
                Console.WriteLine("3:Change user activity");
                Console.WriteLine("4:All users");
                Console.WriteLine("5:View log");
                Console.WriteLine("6:Show recent activity");
                Console.WriteLine("Choose option ");
                do
                {
                    input = Console.ReadLine();
                    ans   = Convert.ToInt32(input);
                    flag  = 0;
                    if (ans == 2 || ans == 3)
                    {
                        if (!RightsGranted.Rights[UserRole.ADMIN].Contains(RoleRights.CanEditStudents))
                        {
                            Console.WriteLine("no access");
                            flag = 1;
                        }
                    }
                    if (ans == 5 || ans == 6)
                    {
                        if (!RightsGranted.Rights[UserRole.ADMIN].Contains(RoleRights.CanSeeLogs))
                        {
                            Console.WriteLine("no access");
                            flag = 1;
                        }
                    }
                    if (ans == 8 || ans == 9)
                    {
                        if (!RightsGranted.Rights[UserRole.ADMIN].Contains(RoleRights.CanEditUsers))
                        {
                            Console.WriteLine("no access");
                            flag = 1;
                        }
                    }
                } while (ans < 1 || ans > 6 || flag == 1);

                switch (ans)
                {
                case 2:
                {
                    //User userToChange = UserData.getValidUser();
                    int      index = UserData.getValidIndex();
                    UserRole ur;
                    Console.WriteLine("Current user role: " + UserData.TestUser[index].role);
                    Console.WriteLine("New role: ");
                    ur = UserData.ToEnum(Console.ReadLine());
                    Console.WriteLine("New role:" + ur);
                    UserData.AssignUserRole(index, ur);
                    break;
                }

                case 3:
                {
                    //User userToChange = UserData.getValidUser();
                    int      index = UserData.getValidIndex();
                    DateTime newUserActiveTo;
                    Console.WriteLine("Current user active to: " + UserData.TestUser[index].activeUntil);
                    Console.WriteLine("New time: ");
                    DateTime.TryParse(Console.ReadLine(), out newUserActiveTo);
                    Console.WriteLine("New time:" + newUserActiveTo);
                    UserData.SetUserActiveTo(index, newUserActiveTo);
                    break;
                }

                case 4:
                {
                    Dictionary <string, int> allusers = UserData.AllUsernames();
                    //Console.WriteLine("All users "+ allusers.Count);
                    Console.Clear();
                    foreach (var currentuser in allusers)
                    {
                        Console.WriteLine(currentuser.Value + "  " + currentuser.Key);
                    }
                    break;
                }

                case 5:
                {
                    Console.Clear();
                    Console.WriteLine(File.ReadAllText("Log.txt"));
                    Console.ReadKey();
                    break;
                }

                case 6:
                {
                    String activity;
                    Console.Clear();
                    Console.WriteLine("Type in activity ");
                    activity = Console.ReadLine();
                    Console.WriteLine("Current activities");
                    Logger.GetCurrentSessionActivies(activity);
                    Console.ReadKey();
                    break;
                }
                }
            } while (ans != 1);
        }