public override async void OnNavigatedTo(NavigatedToEventArgs e, Dictionary<string, object> viewModelState) { string errorMessage = string.Empty; try { LoadingData = true; var db = Database.DbConnection; var accountsList = new ObservableCollection<AccountViewModel>(); { var result = await db.QueryAsync<AccountViewModel>("select Id, Name from Accounts"); AccountsList = new ObservableCollection<AccountViewModel>(); foreach (var accountViewModel in result) { AccountsList.Add(accountViewModel); } } FolderTree = new FolderTreeViewModel(); await FolderTree.Refresh(); FolderItems = FolderTree.Children; if (FolderItems.Count == 0) { _navigationService.Navigate("EmailProvider",new AccountPageParameters() {FolderTree = _folderTree}); return; } var currentAccount = await SettingsMethods.GetSetting("default account") ?? await SettingsMethods.GetSetting("last used account") ?? "0"; SelectedAccountIndex = Convert.ToInt32(currentAccount); var account = await db.FindAsync<Accounts>(AccountsList[SelectedAccountIndex].Id); foreach (var folder in FolderItems) { if (folder.Expand(account.InFolderId, true)) break; } } catch (Exception ex) { errorMessage = string.Format(CultureInfo.CurrentCulture, "GeneralServiceErrorMessage", Environment.NewLine, ex.Message); } finally { LoadingData = false; } }