예제 #1
0
        public async Task <List <ArticleDto> > GetAllArticlesByuserId(Guid userId, int pageIndex, int pagesize)
        {
            using (var articleSvc = new ArticleService())
            {
                var list = await articleSvc.GetAllByPageOrderAsync(pagesize, pageIndex, false).Include(m => m.User).Where(m => m.UseId == userId)
                           .Select(m => new Dto.ArticleDto()
                {
                    Title      = m.Title,
                    BadCount   = m.BadCount,
                    GoodCount  = m.GoodCount,
                    Content    = m.Content,
                    Email      = m.User.Email,
                    CreateTime = m.CreateTime,
                    Id         = m.Id,
                    ImagePath  = m.User.ImagePath,
                }).ToListAsync();

                using (IArticleToCategoryService articleToCategoryService = new ArticleToCategory())
                {
                    foreach (var elem in list)
                    {
                        var cates = await articleToCategoryService.GetAllAsync().Include(m => m.BlogCategory).Where(m => m.ArticleId == elem.Id).ToListAsync();

                        elem.CategoryIds   = cates.Select(m => m.BlogCategoryId).ToArray();
                        elem.CategoryNames = cates.Select(m => m.BlogCategory.CategoryName).ToArray();
                    }
                    return(list);
                }
            }
        }