private async void DeleteAccount(object param)
        {
            var userAccount = param as UserAccount;

            if (userAccount == null)
            {
                return;
            }

            var userAccountViewModel = SelectedUserAccountViewModels.FirstOrDefault(a => a.UserAccount.AccountName.Equals(userAccount.AccountName));

            if (userAccountViewModel != null)
            {
                Close(userAccountViewModel);
            }

            try
            {
                await accountsService.DeleteAccount(userAccount);

                Accounts.Remove(userAccount);
                Module.RemoveAccount(userAccount.AccountName);
            }
            catch (Exception ex)
            {
                ShowMessage(new Message {
                    MessageType = MessageType.Error, Text = ex.Message
                });
            }
        }
        public void Close(object param)
        {
            var userAccount = param as UserAccountViewModel;

            if (userAccount != null)
            {
                userAccount.Dispose();
                SelectedUserAccountViewModels.Remove(userAccount);
            }
        }
Beispiel #3
0
 public void Close(object param)
 {
     if (param is UserAccountViewModel userAccount)
     {
         userAccount.Dispose();
         SelectedUserAccountViewModels.Remove(userAccount);
         if (observables.TryGetValue(userAccount.UserAccount.AccountName, out IDisposable value))
         {
             observables.Remove(userAccount.UserAccount.AccountName);
             value.Dispose();
         }
     }
 }
Beispiel #4
0
        private async void DeleteAccount(object param)
        {
            var userAccount = param as UserAccount;

            if (userAccount == null)
            {
                return;
            }

            var result = Dialog.ShowMessage(new MessageBoxSettings
            {
                Title             = "Delete User Account",
                Text              = $"Are you sure you want to delete {userAccount.AccountName}?",
                MessageType       = MessageType.Question,
                MessageBoxButtons = MessageBoxButtons.OkCancel
            });

            if (result.Equals(MessageBoxResult.Cancel))
            {
                return;
            }

            var userAccountViewModel = SelectedUserAccountViewModels.FirstOrDefault(a => a.UserAccount.AccountName.Equals(userAccount.AccountName));

            if (userAccountViewModel != null)
            {
                Close(userAccountViewModel);
            }

            try
            {
                IsLoading = true;

                await accountsService.DeleteAccountAsync(userAccount);

                Accounts.Remove(userAccount);
                Module.RemoveAccount(userAccount.AccountName);
            }
            catch (Exception ex)
            {
                ShowMessage(new Message {
                    MessageType = MessageType.Error, Text = ex.Message
                });
            }
            finally
            {
                IsLoading = false;
            }
        }