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;
         }
     }
 }
Exemple #2
0
        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;
            }
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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"));
        }
Exemple #8
0
        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);
        }