/// <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); } }
/// <summary> /// 获取所有文章的总数 /// </summary> /// <returns></returns> public async Task <int> GetAllArticleDataCount() { using (IArticleService articleSvc = new ArticleService()) { return(await articleSvc.GetAll().CountAsync()); } }
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); } } }
public async Task <int> GetArticleDataCount(Guid id) { using (IArticleService articleSvc = new ArticleService()) { return(await articleSvc.GetAll().CountAsync(m => m.UserId == id)); } }
public async Task <bool> ExistsArticle(Guid articleId) { using (IArticleService articleSvc = new ArticleService()) { return(await articleSvc.GetAll().AnyAsync(m => m.Id == articleId)); } }
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); } } }
/// <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()); } }