Ejemplo n.º 1
0
        public async Task LoadStarredNews()
        {
            StarredLoading = true;
            var list = await _starredCacheHelper.ReadStarredCache();

            if (list == null || list.Count <= 0)
            {
                StarredLoading = false;
                return;
            }

            var mustAdd = new List <NewsModel>();

            if (StarredNews != null && StarredNews.Count > 0)
            {
                foreach (var item in list)
                {
                    var exists = StarredNews.FirstOrDefault(n => n.Title == item.Title);
                    if (exists == null)
                    {
                        mustAdd.Add(item);
                    }
                }

                if (mustAdd.Count > 0)
                {
                    list = mustAdd;
                }
                else
                {
                    return;
                }
            }

            foreach (var item in list)
            {
                var toAdd  = item;
                var exists = News.FirstOrDefault(n => n.Title == item.Title);
                if (exists != null)
                {
                    toAdd = exists;
                }

                toAdd.Starred = true;
                StarredNews.Add(toAdd);
            }
            StarredLoading = false;
        }
Ejemplo n.º 2
0
        private async Task <bool> StarNews(NewsModel starred)
        {
            if (starred == null || StarredNews.Contains(starred))
            {
                return(false);
            }

            if (starred.NewsContent == null || starred.NewsContent.Count <= 0)
            {
                await starred.LoadNewsBody();
            }

            starred.Starred = true;
            StarredNews.Add(starred);
            SaveStarredCache();
            return(true);
        }