Dodaje nowego użytkownika do kolekcji. Na końcu metody Add(User user) w debugger jest dodany nowy obiekt do HashSet. Nie wyłączając aplikacji chcę pobrać dokładnie tego użytkownika. W metodzie UserDto Get(string email) _userRepository posiada już tylko 3 obiekty, dodane z "palca".
Metoda Get działa ponieważ zwraca dane dla przypisanych użytkowników.
Proszę o pomoc.
namespace Passengers.Infrastructure.Repository
{
public class InMemoryUserRepository : IUserRepository
{
private ISet<User> _users = new HashSet<User>
{ new User("[email protected]","user1","password1","adsf213"),
new User("[email protected]","user2","password2","adsf213"),
new User("[email protected]","user3","password3","adsf213"),
};
public void Add(User user)
{
_users.Add(user);
}
public User Get(string email)
=>_users.SingleOrDefault(x => x.Email==email.ToLowerInvariant());
}
}
namespace Passengers.Infrastructure.Services
{
public class UserServices : IUserService
{
private readonly IUserRepository _userRepository;
private readonly IMapper _mapper;
public UserServices(IUserRepository userRepository,IMapper mapper)
{
_mapper = mapper;
_userRepository = userRepository;
}
public UserDto Get(string email)
{
var User = _userRepository.Get(email);
return _mapper.Map<User, UserDto>(User);
}
public void Register(string email,string username,string password)
{
var user = _userRepository.Get(email);
if(user != null)
{
throw new Exception($"User with email{email} already exist");
}
string salt = Guid.NewGuid().ToString("N");
user = new User(email,username,password,salt);
_userRepository.Add(user);
}
}
}