Application
unknown
csharp
7 months ago
4.1 kB
6
Indexable
Never
internal class Program { private static void Main(string[] args) { Application application1 = new Application(); application1.InputLogin(); application1.PrintMenu(); //application1.Users[1].Role = Role.Admin; //application1.Users[1].AddUser(new User(2, "email3", "pass3", "name3")); //application1.ShowUsers(); } } public class Application { // Admin // User private List<User> _users = new List<User> { new User(0, "email1", "pass1", "name1") { Role = Role.Admin}, new User(1, "email2", "pass2", "name2"), }; private User _activeUser; private string[] _mainMenu = new string[] { "Все пользователи", "Настройки", "Выход" }; private string[] _adminMainMenu = new string[] { "Все пользователи", "Добавить пользователя", "Настройки", "Выход" }; public List<User> Users { get => _users; } public void ShowUsers() { Console.Clear(); Console.WriteLine("Все пользователи"); foreach (var user in Users) { Console.WriteLine(user.Name); } } public void AddUser() { Console.Clear(); Console.WriteLine("Добавлени пользователя"); Console.Write("Email: "); string newUserEmail = Console.ReadLine(); Console.Write("Имя: "); string newUserName = Console.ReadLine(); Console.Write("Пароль: "); string newUserPassword = Console.ReadLine(); _users.Add(new User(23, newUserEmail, newUserPassword, newUserName)); Console.WriteLine("Пользователь добавлен"); } public void InputLogin() { while (true) { Console.Clear(); Console.WriteLine("Войти"); Console.Write("Имя: "); string inputName = Console.ReadLine(); Console.Write("Пароль: "); string inputPass = Console.ReadLine(); bool isLogin = CheckLogin(inputName, inputPass); if (isLogin) { Console.WriteLine("Вы успешно авторизованы"); break; } else { Console.WriteLine("Данные не корректны"); Console.ReadKey(); } } } public void PrintMenu() { Console.Clear(); Console.WriteLine($"Привет {_activeUser.Name} - [ {_activeUser.Role} ]"); string[] menu = _activeUser.Role == Role.Admin ? _adminMainMenu : _mainMenu; for (int i = 0; i < menu.Length; i++) { Console.WriteLine($"{i + 1}. {menu[i]}"); } //if (_activeUser.Role == Role.Admin) //{ // for (int i = 0; i < _adminMainMenu.Length; i++) // { // Console.WriteLine($"{i + 1}. {_adminMainMenu[i]}"); // } //} //else //{ // for (int i = 0; i < _mainMenu.Length; i++) // { // Console.WriteLine($"{i + 1}. {_mainMenu[i]}"); // } //} Console.Write("Команда: "); int command = Convert.ToInt32(Console.ReadLine()); switch (command) { case 1: ShowUsers(); break; case 2: break; case 3: InputLogin(); break; default: break; } Console.WriteLine(); Console.WriteLine("Для продолжения нажмите любую клавишу"); Console.ReadKey(); PrintMenu(); } public bool CheckLogin(string name, string pass) { foreach (var user in _users) { if (user.Name == name && user.Password == pass) { _activeUser = user; return true; } } return false; } } public class User { public int Id { get; set; } public string Email { get; set; } public string Password { get; set; } public string Name { get; set; } public Role Role { get; set; } public User(int id, string email, string password, string name) { Id = id; Email = email; Password = password; Name = name; } public void AddUser(User user) { if (Role == Role.Admin) { Console.WriteLine("Пользователь добавлен"); } else { Console.WriteLine("Пользователь no добавлен"); } } } public enum Role { User, Admin }
Leave a Comment