public ActionResult SavePassword(ChangePasswordFormViewModel passwordForm)
        {
            if (_myPagesViewModelService.IsValidPasswordForm(_modelState, passwordForm))
            {
                _myPagesViewModelService.SavePassword(passwordForm.Password);
                return(RedirectToAction(nameof(Index), new { CurrentTab = MyPagesTabConstants.LoginInfo }));
            }

            var model = _myPagesViewModelBuilder.Build();

            model.CurrentTab = MyPagesTabConstants.LoginInfo;
            return(View(nameof(Index), model));
        }
Beispiel #2
0
        public ActionResult ChangePassword(LoginViewModel loginViewModel)
        {
            if (string.IsNullOrWhiteSpace(loginViewModel.LoginForm.UserName) || string.IsNullOrWhiteSpace(loginViewModel.LoginForm.Password))
            {
                return(RedirectToAction(nameof(Login)));
            }

            var model = _loginViewModelBuilder.Build(loginViewModel);

            model.RedirectUrl = loginViewModel.RedirectUrl;

            if (!_myPagesViewModelService.IsValidPasswordForm(_modelState, model.ChangePasswordForm,
                                                              model.LoginForm.Password))
            {
                return(View(model));
            }

            var loginSuccessfull = _loginService.Login(model.LoginForm.UserName, model.LoginForm.Password, model.ChangePasswordForm.Password, out var token);

            if (!loginSuccessfull)
            {
                return(View(model));
            }
            var person = _loginService.GetUser(model.LoginForm.UserName);

            if (!_loginService.IsBusinessCustomer(person, out var organizations))
            {
                return(new RedirectResult(model.RedirectUrl));
            }

            if (organizations.Count <= 1)
            {
                return(new RedirectResult(model.RedirectUrl));
            }
            model.Organizations = _loginViewModelBuilder.GetOrganizations(organizations);
            return(View(nameof(SelectOrganization), model));
        }