public async Task <ActionResult> ResetPassword(CompleteAccountRecoveryViewModel vm) { if (await IsLoggedInAsync()) { return(await GetLoggedInDefaultRedirectActionAsync()); } var token = _authorizedTaskTokenUrlHelper.ParseTokenFromQuery(Request.Query); await _contentRepository .WithModelState(this) .Users() .AccountRecovery() .CompleteAsync(new CompleteUserAccountRecoveryViaEmailCommand() { UserAreaCode = CofoundryAdminUserArea.Code, Token = token, NewPassword = vm.NewPassword }); if (ModelState.IsValid) { var completeViewPath = ViewPathFormatter.View(CONTROLLER_NAME, nameof(ResetPassword) + "Complete"); return(View(completeViewPath)); } var viewPath = ViewPathFormatter.View(CONTROLLER_NAME, nameof(ResetPassword)); return(View(viewPath, vm)); }
public async Task <ActionResult> ResetPassword() { if (await IsLoggedInAsync()) { return(await GetLoggedInDefaultRedirectActionAsync()); } var token = _authorizedTaskTokenUrlHelper.ParseTokenFromQuery(Request.Query); var requestValidationResult = await _contentRepository .WithModelState(this) .Users() .AccountRecovery() .Validate(new ValidateUserAccountRecoveryByEmailQuery() { UserAreaCode = CofoundryAdminUserArea.Code, Token = token }) .ExecuteAsync(); if (!ModelState.IsValid) { var invalidViewPath = ViewPathFormatter.View(CONTROLLER_NAME, nameof(ResetPassword) + "RequestInvalid"); return(View(invalidViewPath, requestValidationResult)); } var vm = new CompleteAccountRecoveryViewModel(); var viewPath = ViewPathFormatter.View(CONTROLLER_NAME, nameof(ResetPassword)); return(View(viewPath, vm)); }