Ejemplo n.º 1
0
        public override async Task <IEnumerable <ChanCatalogThread> > GetCatalogForBoardAsync(string urlSlug)
        {
            var data = await ApiCache.GetApi <FourChanCatalogPage[]>(string.Format(JsonCatalog, urlSlug));

            return(from t in data.SelectMany(p => p.Threads)
                   select t.GetViewModel(urlSlug));
        }
Ejemplo n.º 2
0
        public override async Task <IEnumerable <ChanBoard> > GetBoardsAsync(BoardSorting?Sorting = null)
        {
            var data = await ApiCache.GetApi <FourChanBoards>(JsonBoards);

            IEnumerable <FourChanBoard> boards = data.Boards;

            switch (Sorting ?? DefaultBoardSorting)
            {
            case BoardSorting.Alphabetical:
            case BoardSorting.MostPopular:
                boards = boards.OrderBy(b => b.BoardName);
                break;
            }

            return(from b in boards
                   select b.GetViewModel());
        }
Ejemplo n.º 3
0
        public override async Task <IEnumerable <ChanBoard> > GetBoardsAsync(BoardSorting?Sorting = null)
        {
            var data = await ApiCache.GetApi <InfiniteChanBoard[]>(JsonBoards);

            IEnumerable <InfiniteChanBoard> boards = data;

            switch (Sorting ?? DefaultBoardSorting)
            {
            case BoardSorting.Alphabetical:
                boards = boards.OrderBy(b => b.Uri);
                break;

            case BoardSorting.MostPopular:
                boards = boards.OrderByDescending(b => b.PostsPerDay);
                break;
            }

            return(from b in boards
                   select b.GetViewModel());
        }
Ejemplo n.º 4
0
        public override async Task <IEnumerable <ChanThreadPost> > GetPostsForTheadAsync(string urlSlug, int threadId)
        {
            var data = await ApiCache.GetApi <FourChanThreadPostObject>(string.Format(JsonThread, urlSlug, threadId));

            return(data.Posts.Select(p => p.GetViewModel(urlSlug, threadId)));
        }