public async Task <User> LoginAsync(User user) { user.Password = cryptoUtility.EncryptPassword(user.Password); var userConsulted = (await repository.SelectWhereAsync(u => u.Username == user.Username)).SingleOrDefault(); if (userConsulted == null) { return(null); } if (userConsulted.Password != user.Password) { var exception = new ArgumentException("Senha incorreta!"); throw exception; } var token = tokenUtility.GetToken(userConsulted); userConsulted.Token = token; userConsulted.RMXs = null; return(userConsulted); }