示例#1
0
 private async Task EditAccoountPasswordAsync()
 {
     try
     {
         await Button.SpinAsync(async() =>
         {
             var vaults = await SharedAccountService.EditSharedAccountPwdAsync(Account, AccountPassword);
             RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(vaults);
             await ToastService.ShowToastAsync("Account password updated.", ToastType.Success);
             await ModalDialogClose();
         });
     }
     catch (Exception ex)
     {
         Logger.LogError(ex.Message);
         await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
         await ModalDialogCancel();
     }
 }
        private async Task SetAsWorkstationAccountAsync()
        {
            try
            {
                await EmployeeService.SetAsPrimaryAccountAsync(Account.Employee.Id, Account.Id);

                var employee = await EmployeeService.GetEmployeeByIdAsync(Account.Employee.Id);

                RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(await EmployeeService.GetEmployeeVaultIdsAsync(employee.Id));
                await ToastService.ShowToastAsync("Account setted as primary.", ToastType.Success);
                await ModalDialogClose();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message, ex);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
                await ModalDialogCancel();
            }
        }
示例#3
0
        private async Task CreateAsync()
        {
            try
            {
                using (TransactionScope transactionScope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    await EmployeeService.CreateEmployeeAsync(Employee);

                    if (SelectedHardwareVault != null)
                    {
                        await EmployeeService.AddHardwareVaultAsync(Employee.Id, SelectedHardwareVault.Id);
                    }

                    if (!AccountSkiped)
                    {
                        if (AccountType == AccountType.Personal)
                        {
                            await EmployeeService.CreatePersonalAccountAsync(PersonalAccount);
                        }
                        else
                        {
                            await EmployeeService.AddSharedAccountAsync(Employee.Id, SharedAccountId);
                        }
                    }

                    transactionScope.Complete();
                }

                if (SelectedHardwareVault != null)
                {
                    RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(SelectedHardwareVault.Id);
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CloseAsync();
            }
        }
示例#4
0
        private async Task DeleteAccoountAsync()
        {
            try
            {
                var vaults = await SharedAccountService.DeleteSharedAccountAsync(Account.Id);

                RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(vaults);
                await SynchronizationService.UpdateSharedAccounts(ExceptPageId);

                await ToastService.ShowToastAsync("Account deleted.", ToastType.Success);

                await ModalDialogService.CloseAsync();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CancelAsync();
            }
        }
示例#5
0
        private async Task DeleteAccoountAsync()
        {
            try
            {
                var account = await EmployeeService.DeleteAccountAsync(Account.Id);

                RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(await EmployeeService.GetEmployeeVaultIdsAsync(account.EmployeeId));
                await ToastService.ShowToastAsync("Account deleted.", ToastType.Success);

                await SynchronizationService.UpdateEmployeeDetails(ExceptPageId, Account.EmployeeId);

                await ModalDialogService.CloseAsync();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message, ex);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CancelAsync();
            }
        }
示例#6
0
        private async Task ChangeProfileAsync()
        {
            try
            {
                await HardwareVaultService.ChangeVaultProfileAsync(HardwareVault.Id, SelectedVaultProfileId);

                RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(HardwareVault.Id);
                await ToastService.ShowToastAsync("Vault profile updated", ToastType.Success);

                await SynchronizationService.UpdateHardwareVaults(ExceptPageId);

                await ModalDialogService.CloseAsync();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CancelAsync();
            }
        }
        private async Task GenerateAccountPasswordAsync()
        {
            try
            {
                if (LdapSettings?.Password == null)
                {
                    throw new Exception("Active Directory credentials not set in parameters page.");
                }

                var accountPassword = new AccountPassword()
                {
                    Password = PasswordGenerator.Generate()
                };

                using (TransactionScope transactionScope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    await EmployeeService.EditPersonalAccountPwdAsync(Account, accountPassword);

                    await LdapService.SetUserPasswordAsync(Account.EmployeeId, accountPassword.Password, LdapSettings);

                    transactionScope.Complete();
                }

                RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(await EmployeeService.GetEmployeeVaultIdsAsync(Account.EmployeeId));
                await ToastService.ShowToastAsync("Account password updated.", ToastType.Success);

                await SynchronizationService.UpdateEmployeeDetails(ExceptPageId, Account.EmployeeId);

                await ModalDialogService.CloseAsync();
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
                await ToastService.ShowToastAsync(ex.Message, ToastType.Error);

                await ModalDialogService.CancelAsync();
            }
        }
 private async Task EditAccountOtpAsync()
 {
     try
     {
         await ButtonSpinner.SpinAsync(async() =>
         {
             await EmployeeService.EditPersonalAccountOtpAsync(Account, AccountOtp);
             RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(await EmployeeService.GetEmployeeVaultIdsAsync(Account.EmployeeId));
             await ToastService.ShowToastAsync("Account OTP updated.", ToastType.Success);
             await ModalDialogClose();
         });
     }
     catch (HESException ex) when(ex.Code == HESCode.IncorrectOtp)
     {
         ValidationErrorMessage.DisplayError(nameof(AccountOtp.OtpSecret), ex.Message);
     }
     catch (Exception ex)
     {
         Logger.LogError(ex.Message);
         await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
         await ModalDialogCancel();
     }
 }
 private async Task EditAccoountOtpAsync()
 {
     try
     {
         await Button.SpinAsync(async() =>
         {
             var vaults = await SharedAccountService.EditSharedAccountOtpAsync(Account, AccountOtp);
             RemoteDeviceConnectionsService.StartUpdateHardwareVaultAccounts(vaults);
             await ToastService.ShowToastAsync("Account OTP updated.", ToastType.Success);
             await ModalDialogClose();
         });
     }
     catch (IncorrectOtpException ex)
     {
         ValidationErrorMessage.DisplayError(nameof(SharedAccount.OtpSecret), ex.Message);
     }
     catch (Exception ex)
     {
         Logger.LogError(ex.Message);
         await ToastService.ShowToastAsync(ex.Message, ToastType.Error);
         await ModalDialogCancel();
     }
 }