/// <summary> /// 从所有文章中获取对应数量的文章 /// </summary> /// <param name="pageIndex">索引</param> /// <param name="pageSize">数量</param> /// <returns></returns> public async Task <List <ArticleDto> > GetAllArticles(int pageIndex, int pageSize) { using (IArticleService articleSvc = new ArticleService()) { var list = await articleSvc.GetAllByPageOrder(pageSize, pageIndex, m => m.Id == m.Id, false).Include(m => m.User).Select(m => new ArticleDto() { Title = m.Title, GoodCount = m.GoodCount, BadCount = m.BadCount, Email = m.User.Email, IntroContent = m.IntroContent, CreateTime = m.CreatTime, Id = m.Id, imagePath = m.User.ImagePath }).ToListAsync(); using (IArticleToCategory articleToCategorySvc = new ArticleToCategoryService()) { foreach (var articleDto in list) { var cates = await articleToCategorySvc.GetAll().Include(m => m.BlogCategory).Where(m => m.ArticleId == articleDto.Id).ToListAsync(); articleDto.CategoryIds = cates.Select(m => m.BlogCategoryId).ToArray(); articleDto.CategoryNames = cates.Select(m => m.BlogCategory.CategoryName).ToArray(); } return(list); } } }
public async Task <List <ArticleDto> > GetAllArticleByEamil(string eamil) { using (var articleService = new ArticleService()) { var list = await articleService.GetAllByPageOrder().Where(m => m.User.Email == eamil).Select(m => new ArticleDto() { Title = m.Title, BadCount = m.BadCount, GoodCount = m.GoodCount, Email = m.User.Email, Content = m.Content, CreateTime = m.CreateTime, Id = m.Id, ImagePath = m.User.ImagePath }).ToListAsync(); using (IArticleToCategoryService articleToCategoryService = new ArticleToCategoryService()) { foreach (var articleDto in list) { var cates = await articleToCategoryService.GetAll().Include(m => m.BlogCagetory).Where(m => m.ArticleId == articleDto.Id).ToListAsync(); articleDto.CategoryIds = cates.Select(m => m.BlogCategoryId).ToArray(); articleDto.CategoryNames = cates.Select(m => m.BlogCagetory.Cagetory).ToArray(); } return(list); } } }
/// <summary> /// 从所有文章中查找符合查找内容和对应数量的文章 /// </summary> /// <param name="searchWord">关键字</param> /// <param name="searchType">查询类型(0-查用户名和标题 1-查标题 2-查用户名)</param> /// <param name="pageIndex">索引</param> /// <param name="pageSize">数量</param> /// <returns></returns> public async Task <List <ArticleDto> > GetAllSearchArticles(string searchWord, int searchType, int pageIndex, int pageSize) {//searchType:0-查用户名和标题 1-查标题 2-查用户名 using (IArticleService articleSvc = new ArticleService()) { List <ArticleDto> list = null; if (searchType == 0)//查用户名和标题 { list = await articleSvc.GetAllByPageOrder(pageSize, pageIndex, m => m.Title.Contains(searchWord) || m.User.Email.Contains(searchWord), false).Include(m => m.User).Select(m => new ArticleDto() { Title = m.Title, GoodCount = m.GoodCount, BadCount = m.BadCount, Email = m.User.Email, Content = m.IntroContent, CreateTime = m.CreatTime, Id = m.Id, imagePath = m.User.ImagePath, userId = m.User.Id }).ToListAsync(); } else if (searchType == 1)//查标题 { list = await articleSvc.GetAllByPageOrder(pageSize, pageIndex, m => m.Title.Contains(searchWord), false).Include(m => m.User).Select(m => new ArticleDto() { Title = m.Title, GoodCount = m.GoodCount, BadCount = m.BadCount, Email = m.User.Email, Content = m.IntroContent, CreateTime = m.CreatTime, Id = m.Id, imagePath = m.User.ImagePath, userId = m.User.Id }).ToListAsync(); } else if (searchType == 2)//查用户名 { list = await articleSvc.GetAllByPageOrder(pageSize, pageIndex, m => m.User.Email.Contains(searchWord), false).Include(m => m.User).Select(m => new ArticleDto() { Title = m.Title, GoodCount = m.GoodCount, BadCount = m.BadCount, Email = m.User.Email, Content = m.IntroContent, CreateTime = m.CreatTime, Id = m.Id, imagePath = m.User.ImagePath, userId = m.User.Id }).ToListAsync(); } using (IArticleToCategory articleToCategorySvc = new ArticleToCategoryService()) { foreach (var articleDto in list) { var cates = await articleToCategorySvc.GetAll().Include(m => m.BlogCategory).Where(m => m.ArticleId == articleDto.Id).ToListAsync(); articleDto.CategoryIds = cates.Select(m => m.BlogCategoryId).ToArray(); articleDto.CategoryNames = cates.Select(m => m.BlogCategory.CategoryName).ToArray(); } return(list); } } }