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; } } }
private static async Task AddInvoiceDetailsAsync() { var accMngr = new AccountManager(); var login = await accMngr.LogonAsync(SaEmail, SaPwd); using var ctrl = Adapters.Factory.Create <Contracts.Business.TestOneToMany.IInvoiceDetails>(login.SessionToken); var entity = await ctrl.CreateAsync(); entity.FirstItem.Date = DateTime.Now; entity.FirstItem.Subject = $"Rechnung {DateTime.Now}"; entity.FirstItem.Street = "Europastraße 67"; entity.FirstItem.ZipCode = "4020"; entity.FirstItem.City = "Linz"; for (int i = 0; i < 5; i++) { var detail = entity.CreateSecondItem(); detail.Order = i; detail.Text = $"Position: {i + 1}"; detail.Quantity = 1; detail.Price = 43.50; detail.Tax = 20; entity.AddSecondItem(detail); } await ctrl.InsertAsync(entity); await accMngr.LogoutAsync(login.SessionToken); }
private void LogonRemote(LogonViewModel viewModel) { var intAccMngr = new AccountManager() { Adapter = Adapters.AdapterType.Controller }; var extAccMngr = new AccountManager() { Adapter = Adapters.AdapterType.Service, BaseUri = viewModel.IdentityUrl }; try { var externLogin = AsyncHelper.RunSync(() => extAccMngr.LogonAsync(viewModel.Email, viewModel.Password)); var internLogin = AsyncHelper.RunSync(() => intAccMngr.LogonAsync(externLogin.JsonWebToken)); var loginSession = new LoginSession(); loginSession.CopyProperties(internLogin); SessionWrapper.LoginSession = loginSession; AsyncHelper.RunSync(() => extAccMngr.LogoutAsync(externLogin.SessionToken)); } catch (Exception ex) { throw ex; } }
private async Task ExecuteLogonRemoteAsync(LogonViewModel viewModel) { var intAccMngr = new AccountManager() { Adapter = Adapters.AdapterType.Controller }; var extAccMngr = new AccountManager() { Adapter = Adapters.AdapterType.Service, BaseUri = viewModel.IdentityUrl }; try { var externLogin = await extAccMngr.LogonAsync(viewModel.Email, viewModel.Password).ConfigureAwait(false); var internLogin = await intAccMngr.LogonAsync(externLogin.JsonWebToken).ConfigureAwait(false); var loginSession = new LoginSession(); loginSession.CopyProperties(internLogin); SessionWrapper.LoginSession = loginSession; await extAccMngr.LogoutAsync(externLogin.SessionToken).ConfigureAwait(false); } catch (Exception ex) { throw ex; } }
public static ILoginSession TryLogon(string identityUri, string email, string password) { var trAccMngr = new AccountManger { BaseUri = BaseUri, Adapter = Adapters.AdapterType.Service, }; var trLogin = default(ILoginSession); if (identityUri.HasContent()) { var idAccMngr = new AccountManger { BaseUri = identityUri, Adapter = Adapters.AdapterType.Service, }; var idLogin = AsyncHelper.RunSync(() => idAccMngr.LogonAsync(email, password)); trLogin = AsyncHelper.RunSync(() => trAccMngr.LogonAsync(idLogin.JsonWebToken)); AsyncHelper.RunSync(() => idAccMngr.LogoutAsync(idLogin.SessionToken)); } else { trLogin = AsyncHelper.RunSync(() => trAccMngr.LogonAsync(email, password)); } return(trLogin); }
public static void Logout(ILoginSession login) { login.CheckArgument(nameof(login)); var trAccMngr = new AccountManger { BaseUri = BaseUri, Adapter = Adapters.AdapterType.Service, }; AsyncHelper.RunSync(() => trAccMngr.LogoutAsync(login.SessionToken)); }
public async Task <IActionResult> LogoutAsync() { if (SessionWrapper.LoginSession != null) { bool handled = false; BeforeLogout(ref handled); if (handled == false) { var accMngr = new AccountManager(); await accMngr.LogoutAsync(SessionWrapper.LoginSession.SessionToken).ConfigureAwait(false); SessionWrapper.LoginSession = null; } AfterLogout(); } return(RedirectToAction("Index", "Home")); }
private static async Task AddAppAccessAsync(string user, string email, string pwd, bool enableJwtAuth, params string[] roles) { var accMngr = new AccountManager(); var login = await accMngr.LogonAsync(SaEmail, SaPwd); using var ctrl = Adapters.Factory.Create <Contracts.Business.Account.IAppAccess>(login.SessionToken); var entity = await ctrl.CreateAsync(); entity.FirstItem.Name = user; entity.FirstItem.Email = email; entity.FirstItem.Password = pwd; entity.FirstItem.EnableJwtAuth = enableJwtAuth; foreach (var item in roles) { var role = entity.CreateSecondItem(); role.Designation = item; entity.AddSecondItem(role); } await ctrl.InsertAsync(entity); await accMngr.LogoutAsync(login.SessionToken); }