Пример #1
0
 private void ChangePasswordSync(ChangePasswordViewModel viewModel, string baseUri)
 {
     if (SessionWrapper.LoginSession == null ||
         SessionWrapper.LoginSession.LogoutTime.HasValue == false)
     {
         var intAccMngr = new AccountManager()
         {
             Adapter = Adapters.AdapterType.Controller
         };
         var extAccMngr = new AccountManager()
         {
             Adapter = Adapters.AdapterType.Service, BaseUri = baseUri
         };
         try
         {
             AsyncHelper.RunSync(() => intAccMngr.ChangePasswordAsync(SessionWrapper.SessionToken, viewModel.OldPassword, viewModel.NewPassword));
             var externLogin = AsyncHelper.RunSync(() => extAccMngr.LogonAsync(viewModel.Email, viewModel.OldPassword));
             AsyncHelper.RunSync(() => extAccMngr.ChangePasswordAsync(externLogin.SessionToken, viewModel.OldPassword, viewModel.NewPassword));
             AsyncHelper.RunSync(() => extAccMngr.LogoutAsync(externLogin.SessionToken));
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
Пример #2
0
        public async Task <IActionResult> ChangePasswordAsync(ChangePasswordViewModel viewModel)
        {
            if (ModelState.IsValid == false)
            {
                return(View(viewModel));
            }
            bool handled  = false;
            var  viewName = "ConfirmationChangePassword";

            BeforeDoChangePassword(viewModel, ref handled);
            if (handled == false)
            {
                if (SessionWrapper.LoginSession == null ||
                    SessionWrapper.LoginSession.LogoutTime.HasValue)
                {
                    return(RedirectToAction("Logon", new { returnUrl = "ChangePassword" }));
                }

                try
                {
                    var accMngr = new AccountManager();

                    await accMngr.ChangePasswordAsync(SessionWrapper.LoginSession.SessionToken, viewModel.OldPassword, viewModel.NewPassword).ConfigureAwait(false);
                }
                catch (Exception ex)
                {
                    viewModel.ActionError = GetExceptionError(ex);
                    return(View("ChangePassword", viewModel));
                }
            }
            AfterDoChangePassword(viewModel, ref viewName);
            return(View(viewName));
        }