Esempio n. 1
0
        public virtual async Task <BaseModel> ChangePassword(ClaimsPrincipal User, ChgPasswordModel model)
        {
            //ApplicationUser user = await _userManager.FindByEmailAsync(model.Email);
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                return(new ProfileModel
                {
                    Succeeded = false,
                    StatusMessage = $"Unable to load user with ID '{_userManager.GetUserId(User)}'."
                });
            }

            var result = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword);

            if (!result.Succeeded)
            {
                return(new BaseModel
                {
                    Succeeded = false,
                    StatusMessage = AddErrors(result)
                });
            }

            return(new BaseModel
            {
                Succeeded = true,
                StatusMessage = "Succeeded"
            });
        }
Esempio n. 2
0
        public async Task <IActionResult> ChangePassword([FromBody] ChgPasswordModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { message = AddErrors() }));
            }

            var result = await _userEngine.ChangePassword(User, model);

            if (!result.Succeeded)
            {
                return(BadRequest(new { message = result.StatusMessage }));
            }

            return(Ok(result));
        }