Esempio n. 1
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 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 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;
            }
        }
        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;
            }
        }
        public async Task <IActionResult> ResetPasswordAsync(ResetPasswordViewModel viewModel)
        {
            if (ModelState.IsValid == false)
            {
                return(View(viewModel));
            }
            bool handled  = false;
            var  viewName = "ConfirmationResetPassword";

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

            try
            {
                var accMngr = new AccountManager();

                await accMngr.ChangePasswordForAsync(SessionWrapper.SessionToken, viewModel.Email, viewModel.ConfirmPassword).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                viewModel.ActionError = GetExceptionError(ex);
                return(View("ResetPassword", viewModel));
            }
            AfterDoResetPassword(viewModel, ref viewName);
            return(View(viewName));
        }
Esempio n. 6
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);
        }
Esempio n. 7
0
        static partial void EndExecuteMain()
        {
            var appAccountManager = new AccountManager
            {
                BaseUri = "https://localhost:5001/api",
                Adapter = Adapters.AdapterType.Controller,
            };

            AsyncHelper.RunSync(() => AddInvoiceDetailsAsync());
        }
Esempio n. 8
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"));
        }
Esempio n. 10
0
        private async Task ExecuteLogonAsync(LogonViewModel viewModel)
        {
            var intAccMngr = new AccountManager()
            {
                Adapter = Adapters.AdapterType.Controller
            };

            try
            {
                var internLogin = await intAccMngr.LogonAsync(viewModel.Email, viewModel.Password).ConfigureAwait(false);

                var loginSession = new LoginSession();

                loginSession.CopyProperties(internLogin);
                SessionWrapper.LoginSession = loginSession;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 11
0
        static async Task Main(string[] args)
        {
            await Task.Run(() => Console.WriteLine("QuickNSmart"));

            BeforeExecuteMain(args);

            var rmAccountManager = new AccountManager
            {
//                BaseUri = "https://localhost:5001/api",
                BaseUri = "https://localhost:5001/api",
                Adapter = Adapters.AdapterType.Service,
            };
            var appAccountManager = new AccountManager
            {
                BaseUri = "https://localhost:5001/api",
                Adapter = Adapters.AdapterType.Controller,
            };

            Adapters.Factory.BaseUri = "https://localhost:5001/api";
            Adapters.Factory.Adapter = Adapters.AdapterType.Controller;

            try
            {
                await InitAppAccessAsync();
                await AddAppAccessAsync(AaUser, AaEmail, AaPwd, AaEnableJwt, AaRole);

                //await appAccountManager.LogoutAsync(appLogin.SessionToken);
                //await rmAccountManager.LogoutAsync(rmLogin.SessionToken);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error in {MethodBase.GetCurrentMethod().Name}: {ex.Message}");
            }

            EndExecuteMain();
            Console.WriteLine("Press any key to end!");
            Console.ReadKey();
        }
Esempio n. 12
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);
        }