Мой проект имеет 3 класса: пользователь , admin , сотрудник . User - базовый класс с входом в систему, паролем и именем. Admin и сотрудник наследуйте этот класс, но имеют определенные поля. Я делаю DB как файл JSON, но я не понимаю, как обрабатывать пользователей. У меня есть идея хранить 3 списка в users.json: пользователи, администраторы, сотрудники. Я не уверен насчет этой идеи, но сейчас это так. И внутри каждого списка соответствующие пользователи. Но как обработать все это позже? Теперь есть класс пользователя , который содержит методы adduser () и другие. Но в настоящее время он предназначен для работы с пользовательским базовым классом. Пожалуйста, скажите мне, как организовать все это? Может быть, я должен просто написать 3 метода Adduser, Addadmin, Addemployee. Я не знаю, что это хорошее или плохое решение.using System.Text.Json;
namespace LibraryBooksAccounting;
public class UserService
{
private string _DBpath;
private List _usersList = new();
public UserService(string DBpath)
{
_DBpath = DBpath;
GetAllUsers();
}
public List GetAllUsers()
{
if (!File.Exists(_DBpath))
{
Save();
return _usersList;
}
string json = File.ReadAllText(_DBpath);
_usersList = JsonSerializer.Deserialize(json) ?? new List();
return _usersList;
}
public bool AddUser(User user)
{
if (_usersList.Any(u => u.Login == user.Login))
{
return false;
}
user.UUID = Guid.NewGuid().ToString();
_usersList.Add(user);
Save();
return true;
}
public User GetUserByLogin(string login)
{
return _usersList.FirstOrDefault(u => u.Login == login.ToLower());
}
public bool UserExists(string login)
{
return _usersList.Any(u => u.Login == login.ToLower());
}
private void Save()
{
string json = JsonSerializer.Serialize(_usersList);
File.WriteAllText(_DBpath, json);
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... rent-roles