public async Task <User> RegisterAsync(string username, string password, string firstName, string lastName, string role)
{
var user = await _dataContext.Users.SingleOrDefaultAsync(u => u.Username == username);
if (user != null)
{
throw new LogicException("Пользователь с указанным именем уже существует");
}
user = new User(username, BC.HashPassword(password), firstName, lastName, role);
_dataContext.Users.Add(user);
await _dataContext.SaveChangesAsync();
GenerateToken(user);
return(user.WithoutPassword());
}