Ejemplo n.º 1
0
        /// <summary>
        /// 查找当前账户最新的文章(置顶或不置顶)
        /// </summary>
        /// <param name="count">数量</param>
        /// <returns></returns>
        public async Task <List <ArticleDto> > GetCurrentUserLatestArticle(int count, Guid userId, bool isTop)
        {
            using (IArticleService articleService = new ArticleService())
            {
                var list = await articleService.GetAll().Where(m => m.User.Id == userId && m.IsTop == isTop).OrderByDescending(m => m.CreatTime).Include(m => m.User).Select(m => new ArticleDto()
                {
                    Id           = m.Id,
                    Title        = m.Title,
                    IntroContent = m.IntroContent,
                    CreateTime   = m.CreatTime,
                    Email        = m.User.Email,
                    imagePath    = m.User.ImagePath,
                    GoodCount    = m.GoodCount,
                    BadCount     = m.BadCount,
                    userId       = m.UserId
                }).Take(count).ToListAsync();

                using (IArticleToCategory articleToCategorySvc = new ArticleToCategoryService())
                {
                    foreach (var item in list)
                    {
                        var cate = await articleToCategorySvc.GetAll().Include(m => m.BlogCategory).Where(m => m.ArticleId == item.Id).ToListAsync();

                        item.CategoryIds   = cate.Select(m => m.BlogCategoryId).ToArray();
                        item.CategoryNames = cate.Select(m => m.BlogCategory.CategoryName).ToArray();
                    }
                }
                return(list);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 获取所有文章的总数
 /// </summary>
 /// <returns></returns>
 public async Task <int> GetAllArticleDataCount()
 {
     using (IArticleService articleSvc = new ArticleService())
     {
         return(await articleSvc.GetAll().CountAsync());
     }
 }
Ejemplo n.º 3
0
        public async Task <ArticleDto> GetOneArticleById(Guid articleId)
        {
            using (IArticleService articleSvc = new ArticleService())
            {
                var data = await articleSvc.GetAll().Where(m => m.Id == articleId).Include(m => m.User).Select(m => new ArticleDto()
                {
                    Id           = m.Id,
                    Title        = m.Title,
                    IntroContent = m.IntroContent,
                    Content      = m.Content,
                    CreateTime   = m.CreatTime,
                    Email        = m.User.Email,
                    userId       = m.UserId,
                    imagePath    = m.User.ImagePath,
                    GoodCount    = m.GoodCount,
                    BadCount     = m.BadCount
                }).FirstAsync();

                using (IArticleToCategory articleToCategorySvc = new ArticleToCategoryService())
                {
                    var cates = await articleToCategorySvc.GetAll().Include(m => m.BlogCategory).Where(m => m.ArticleId == data.Id).ToListAsync();

                    data.CategoryIds   = cates.Select(m => m.BlogCategoryId).ToArray();
                    data.CategoryNames = cates.Select(m => m.BlogCategory.CategoryName).ToArray();
                    return(data);
                }
            }
        }
Ejemplo n.º 4
0
 public async Task <int> GetArticleDataCount(Guid id)
 {
     using (IArticleService articleSvc = new ArticleService())
     {
         return(await articleSvc.GetAll().CountAsync(m => m.UserId == id));
     }
 }
Ejemplo n.º 5
0
 public async Task <bool> ExistsArticle(Guid articleId)
 {
     using (IArticleService articleSvc = new ArticleService())
     {
         return(await articleSvc.GetAll().AnyAsync(m => m.Id == articleId));
     }
 }
Ejemplo n.º 6
0
 public async Task <int> GetSearchArticleDataCount(string searchWord, int searchType)
 {//searchType:0-查用户名和标题 1-查标题 2-查用户名
     using (IArticleService articleSvc = new ArticleService())
     {
         if (searchType == 0)//查用户名和标题
         {
             return(await articleSvc.GetAll().CountAsync(m => m.Title.Contains(searchWord) || m.User.Email.Contains(searchWord)));
         }
         else if (searchType == 1)//查标题
         {
             return(await articleSvc.GetAll().CountAsync(m => m.Title.Contains(searchWord)));
         }
         else if (searchType == 2)//查用户名
         {
             return(await articleSvc.GetAll().CountAsync(m => m.User.Email.Contains(searchWord)));
         }
         else
         {
             return(0);
         }
     }
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 查找当前账户最热门的文章
 /// </summary>
 /// <param name="count">数量</param>
 /// <returns></returns>
 public async Task <List <ArticleDto> > GetCurrentUserFamousArticle(int count, Guid userId)
 {
     using (IArticleService articleService = new ArticleService())
     {
         return(await articleService.GetAll().Where(m => m.User.Id == userId).OrderByDescending(m => m.GoodCount).Include(m => m.User).Select(m => new ArticleDto()
         {
             Id = m.Id,
             Title = m.Title,
             Content = m.IntroContent,
             CreateTime = m.CreatTime,
             //Email = m.User.Email,
             imagePath = m.User.ImagePath,
             GoodCount = m.GoodCount,
             BadCount = m.BadCount
         }).Take(count).ToListAsync());
     }
 }