Example #1
0
        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);
        }