public async Task DeleteAccountAsync(DeleteAccountConfirmDialogDataTemplate dataTemplate) { if (dataTemplate.Confirmed) { await Task.Run(async() => { Logger.Info("Deleting account: " + MODEL.Account.getBareJid()); try { await ConnectionHandler.INSTANCE.removeAccountAsync(MODEL.Account.getBareJid()); } catch (System.Exception e) { Logger.Error("Failed to disconnect account for deletion.", e); } if (!dataTemplate.KeepChatMessages) { await ChatDBManager.INSTANCE.deleteAllChatMessagesForAccountAsync(MODEL.Account.getBareJid()); } if (!dataTemplate.KeepChats) { ChatDBManager.INSTANCE.deleteAllChatsForAccount(MODEL.Account.getBareJid()); } AccountDBManager.INSTANCE.deleteAccount(MODEL.Account, true, true); Logger.Info("Finished deleting account: " + MODEL.Account.getBareJid()); }); } }
public async Task DeleteAccountAsync(DeleteAccountConfirmDialogDataTemplate dataTemplate) { if (dataTemplate.Confirmed) { await DataCache.INSTANCE.DeleteAccountAsync(MODEL.Account); } }
public async Task DeleteAccountAsync(DeleteAccountConfirmDialogDataTemplate dataTemplate) { if (dataTemplate.Confirmed) { // Delete the account: await DataCache.INSTANCE.DeleteAccountAsync(MODEL.Account); // Update push accounts: if (Settings.GetSettingBoolean(SettingsConsts.PUSH_ENABLED)) { await PushManager.INSTANCE.InitPushForAccountsAsync(); } } }