예제 #1
0
        static void Main(string[] args)
        {
            try
            {
                CreateProject createProject = new CreateProject();
                createProject.RegisterHandler(Show_Message);
                createProject.LoadFromFile(projectPath);
                createProject.LoadBreakDownsFromFile(breaksPath);
                createProject.LoasAdminsFromFile(adminPath);
start:
                Console.Clear();
                User    user = null;
                Project proj = null;
                Console.WriteLine("1 - Администратор\n2 - Пользователь\n3 - Зарегистрироваться");
                Int32.TryParse(Console.ReadLine(), out int IsAdmin);
                switch (IsAdmin)
                {
                case 1:
                {
                    if (!LoginAdmin(createProject))
                    {
                        Console.WriteLine("Good Bye");
                        Thread.Sleep(3000);
                        return;
                    }

                    AdminMenu(createProject);
                    break;
                }

                case 2:
                {
                    int countOfIncorrectChance = 3;
UserMenu:
                    Console.WriteLine("Введите логин");
                    string login = Console.ReadLine();
                    Console.WriteLine("Введите пароль");
                    string password = Console.ReadLine();
                    foreach (Project item in createProject.Projects)
                    {
                        foreach (User itemUser in item.Users)
                        {
                            if (itemUser.Login == login && itemUser.Password == password)
                            {
                                user = itemUser;
                                proj = item;

                                break;
                            }
                        }
                    }

                    if (user != null)
                    {
                        Console.WriteLine("Добро пожаловать");
                        Thread.Sleep(1000);
                        Console.Clear();
                        UserMenu(proj, user, createProject);
                    }
                    else if (countOfIncorrectChance > 1)
                    {
                        Console.WriteLine("Ваши данные некорректны!");
                        countOfIncorrectChance--;
                        Console.WriteLine("Осталось попыток : " + countOfIncorrectChance);
                        Thread.Sleep(2000);
                        Console.Clear();
                        goto UserMenu;
                    }
                    else
                    {
                        return;
                    }

                    break;
                }

                case 3:
                {
                    Console.WriteLine("Введите логин");
                    string login = Console.ReadLine();
                    Console.WriteLine("Введите пароль");
                    string password = Console.ReadLine();

                    createProject.Admins.Add(new Admin(login, password));


                    break;
                }
                }



                createProject.SerializeProj(projectPath);
                createProject.SerializeBreaks(breaksPath);
                createProject.SerializeAdmins(adminPath);
                Console.WriteLine("Для выхода в главное меню нажмите букву \"M\"");
                if (Console.ReadKey().Key == ConsoleKey.M)
                {
                    goto start;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            Console.ReadLine();
        }