async Task <List <NewsCategory> > GetUsersNewsCategories() { try { var loggedIn = authService.IsLoggedIn(); if (!loggedIn) { return(new List <NewsCategory>()); } var dbResult = await Data.ListAsync <UserInterests>( DefaultPartitions.UserDocuments ); var allNewsCats = new AllNewsCategories(); var userInterests = new List <UserInterests>(); userInterests.AddRange(dbResult.CurrentPage.Items.Select(i => i.DeserializedValue)); while (dbResult.HasNextPage) { await dbResult.GetNextPageAsync(); userInterests.AddRange(dbResult.CurrentPage.Items.Select(i => i.DeserializedValue)); } foreach (var interest in userInterests) { var favoriteCategory = allNewsCats.First(c => c.CategoryName == interest.NewsCategoryName); favoriteCategory.IsFavorite = true; // add the tabs var interestInfo = new InterestSubMessage { Category = favoriteCategory.CategoryName, Title = favoriteCategory.DisplayName }; var msg = new AddInterestTabMessage { InterestInfo = interestInfo }; MessagingCenter.Send(msg, AddInterestTabMessage.AddTabMessage); } return(allNewsCats); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); return(new List <NewsCategory>()); } }
async Task <List <NewsCategory> > GetUsersNewsCategories() { try { var loggedIn = authService.IsLoggedIn(); if (!loggedIn) { return(new List <NewsCategory>()); } var dbResult = await Data.ListAsync <UserInterest>( DefaultPartitions.UserDocuments); var allNewsCats = new AllNewsCategories(); var userInterests = new List <UserInterest>(); // Get first page of results userInterests.AddRange(dbResult.CurrentPage.Items.Select(i => i.DeserializedValue)); while (dbResult.HasNextPage) { await dbResult.GetNextPageAsync(); userInterests.AddRange(dbResult.CurrentPage.Items.Select(i => i.DeserializedValue)); } foreach (var interest in userInterests) { allNewsCats.First(c => c.CategoryName == interest.NewsCategoryName) .IsFavorite = true; } return(allNewsCats); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); return(new List <NewsCategory>()); } }