예제 #1
0
        private async Task RequestStories(bool isLoadingMore)
        {
            TimeLine timeLine = null;

            if (isLoadingMore)
            {
                if (StoryDataList.Count > 0)
                {
                    timeLine = await DataRequester.RequestNextTimeLine(StoryDataList.Last().Time.ToString());
                }
            }
            else
            {
                ResetStories();
                timeLine = await DataRequester.RequestLatestTimeLine();

                if (timeLine != null && timeLine.Items != null && timeLine.Items.Count > 0)
                {
                    CurrentStoryId = timeLine.Items.First().Id.ToString();
                }
            }

            if (timeLine == null || timeLine.Items == null)
            {
                return;
            }
            timeLine.Adjust();
            StoryDataList.AddRange(timeLine.Items);
        }
예제 #2
0
        private async Task RequestDefaultCategoryData(bool isLoadingMore)
        {
            MainData storyData = null;

            if (isLoadingMore)
            {
                storyData = await DataRequester.RequestStories(_currentDate);
            }
            else
            {
                ResetStorys();
                storyData = await DataRequester.RequestLatestStories();

                if (storyData != null)
                {
                    TopStoryList   = storyData.top_stories;
                    CurrentStoryId = storyData.stories.First().id.ToString();
                }
            }

            if (storyData == null)
            {
                return;
            }

            _currentDate = storyData.date;

            StoryDataList.Add(new Story()
            {
                title = StringUtil.GetStoryGroupName(_currentDate), type = Misc.Group_Name_Type
            });
            StoryDataList.AddRange(storyData.stories);
        }
예제 #3
0
        private async Task RequestMinorCategoryData(bool isLoadingMore)
        {
            MinorData storyData = null;

            if (isLoadingMore)
            {
                storyData = await DataRequester.RequestCategoryStories(CurrentCategoryId.ToString(), _currentDate);
            }
            else
            {
                ResetStorys();
                storyData = await DataRequester.RequestCategoryLatestStories(CurrentCategoryId.ToString());

                if (storyData != null)
                {
                    var firstStoryId = storyData.stories.First().id;
                    TopStoryList = new List <TopStory>()
                    {
                        new TopStory()
                        {
                            image = storyData.background, id = Misc.Unvalid_Image_Id, title = storyData.description
                        }
                    };
                    CurrentStoryId = firstStoryId.ToString();
                }
            }
            if (storyData == null || storyData.stories.Count == 0)
            {
                return;
            }

            _currentDate = storyData.stories.Last().id.ToString();

            StoryDataList.AddRange(storyData.stories);
        }
예제 #4
0
        private async Task RequestFavorites(bool isLoadingMore)
        {
            Favorites favData = null;

            if (isLoadingMore)
            {
                if (!FavoritesLastTime.HasValue)
                {
                    return;
                }

                favData = await DataRequester.RequestFavorites(FavoritesLastTime.Value.ToString());
            }
            else
            {
                ResetStories();
                favData = await DataRequester.RequestLatestFavorites();

                if (favData != null && favData.stories != null && favData.stories.Count > 0)
                {
                    CurrentStoryId = favData.stories.First().Id.ToString();
                }
            }

            if (favData == null)
            {
                return;
            }

            FavoritesLastTime = favData.last_time;

            StoryDataList.AddRange(favData.stories);
        }
예제 #5
0
 protected void ResetStorys()
 {
     _currentDate = DateTime.Now.AddDays(1).ToString("yyyyMMdd");
     StoryDataList.Clear();
     TopStoryList.Clear();
     Indicators.Clear();
 }
예제 #6
0
        public async Task RefreshStories(bool isLoadingMore)
        {
            HotCircleStories hotCircleStories = null;

            if (isLoadingMore)
            {
                if (StoryDataList.Count > 0)
                {
                    hotCircleStories = await DataRequester.RequestNextStoriesForCircle(CircleId, StoryDataList.Last().Time.ToString());
                }
            }
            else
            {
                ResetStorys();
                hotCircleStories = await DataRequester.RequestLatestStoriesForCircle(CircleId);

                if (hotCircleStories != null && hotCircleStories.Stories != null && hotCircleStories.Stories.Count > 0)
                {
                    CurrentStoryId = hotCircleStories.Stories.First().Id.ToString();
                }
            }

            if (hotCircleStories == null || hotCircleStories.Stories == null || hotCircleStories.Stories.Count == 0)
            {
                return;
            }

            hotCircleStories.Stories.ForEach(story => story.AdjustForHotCircleStory(Circle));
            StoryDataList.AddRange(hotCircleStories.Stories);
        }
        private async Task RequestFavorites(bool isLoadingMore)
        {
            Favorites favData = null;

            if (isLoadingMore)
            {
                if (!FavoritesLastTime.HasValue)
                {
                    return;
                }

                favData = await DataRequester.RequestFavorites(FavoritesLastTime.Value.ToString());
            }
            else
            {
                ResetStorys();
                UpdateTopStory();
                favData = await DataRequester.RequestLatestFavorites();

                if (favData != null)
                {
                    CurrentStoryId = favData.stories.First().id.ToString();
                    FavoritesCount = favData.count;
                    CategoryName   = string.Format(StringUtil.GetString("FavCategoryName"), FavoritesCount);
                }
            }

            if (favData == null)
            {
                return;
            }

            FavoritesLastTime = favData.last_time;

            StoryDataList.AddRange(favData.stories);
        }
예제 #8
0
 protected void ResetStories()
 {
     StoryDataList.Clear();
 }