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