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>());
            }
        }