Application
unknown
csharp
2 years ago
4.1 kB
13
Indexable
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
}
Editor is loading...
Leave a Comment