public async Task <IEnumerable <Storing.Wiki> > GetPopularWikisAsync(uint count, bool description = false) { IEnumerable <Models.Wiki> wikis = await(from wiki in _db.Wiki orderby wiki.HitCount descending select wiki) .Take((int)count).ToListAsync(); return(await Task.WhenAll(wikis.Select(async w => { Storing.Wiki wiki = Mapper.Map(w); wiki.HtmlDescription = (description) ? await GetHTMLAsync(w.Id) : null; return wiki; }))); }
private async Task <Storing.Wiki> GetWikiWithHTMLAsync(int wikiId) { var modelsWiki = await(from inwiki in _db.Wiki where inwiki.Id == wikiId select inwiki) .Include(o => o.WikiHtmlDescription) .SingleAsync(); modelsWiki.HitCount += 1; var dbSave = _db.SaveChangesAsync(); Storing.Wiki wiki = Mapper.Map(modelsWiki); if (wiki.HtmlDescription == null) { wiki.HtmlDescription = await GetHTMLAsync(wikiId); } await dbSave; return(wiki); }