Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }