예제 #1
0
        public async Task <JsonResult> ChangeExpiredPasswordAsync(string username, string password, string newpassword)
        {
            var message = "Could not update password";
            var status  = false;

            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByNameAsync(username);

                if (user != null)
                {
                    var result = await _userManager.ChangePasswordAsync(user, password, newpassword);

                    if (result.Succeeded)
                    {
                        message = "Password successfully updated.";
                        status  = true;

                        user.LastPasswordChangedDate = DateTime.Today;
                        _context.Entry(user).State   = EntityState.Modified;
                        await _context.SaveChangesAsync();
                    }
                    else
                    {
                        message = result.Errors.First().Description;
                    }
                }
            }

            return(Json(new { succeeded = status, message }));
        }