Example #1
0
        public async Task <string> ResetPasswordAsync(string email, string password, string url)
        {
            User user = _liveContext.Users.FirstOrDefault(x => x.UserEmail == email);

            if (user != null)
            {
                var encrypter = new Encrypter();
                var salt      = encrypter.GetSalt(password);
                var hash      = encrypter.GetHash(password, salt);
                var resetId   = Guid.NewGuid();

                bool sended = _emailService.ResetPassword(user, resetId, url);

                if (sended)
                {
                    user.SetNewPassword(hash, salt, resetId);
                    _liveContext.Update(user);
                    await _liveContext.SaveChangesAsync();
                }
                else
                {
                    return("emailerror");
                }
                return("ok");
            }
            else
            {
                return("notexists");
            }
        }