Exemple #1
0
        /// <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);
                }
            }
        }
Exemple #2
0
        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);
                }
            }
        }
Exemple #3
0
        /// <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);
                }
            }
        }