Beispiel #1
0
        public async Task <List <ArticleDto> > GetAllArticlesByUserID(Guid userid)
        {
            using (var articleSvc = new ArticleService())
            {
                var list = await articleSvc.GetAllAsync().Include(m => m.User).Where(m => m.UserID == userid)
                           .Select(m => new Dto.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.GetAllAsync().Include(m => m.BlogCategory).Where(m => m.ArticleID == articleDto.ID).ToListAsync();

                        articleDto.CategoryIDs   = cates.Select(m => m.CategoryID).ToArray();
                        articleDto.CategoryNames = cates.Select(m => m.BlogCategory.CategoryName).ToArray();
                    }
                    return(list);
                }
            }
        }
Beispiel #2
0
 public async Task <int> GetDataCount(Guid userId)
 {
     using (BlogSystem.IdAL.IArticleService articleService = new ArticleService())
     {
         return(await articleService.GetAllAsync().CountAsync(m => m.UseId == userId));
     }
 }
Beispiel #3
0
        public async Task <ArticleDto> GetOneArticleById(Guid articleId)
        {
            using (BlogSystem.IdAL.IArticleService articleService = new ArticleService())
            {
                var data = await articleService.GetAllAsync()
                           .Include(m => m.User)
                           .Where(m => m.Id == articleId)
                           .Select(m => new Dto.ArticleDto()
                {
                    Id         = m.Id,
                    BadCount   = m.BadCount,
                    Title      = m.Title,
                    Content    = m.Content,
                    CreateTime = m.CreateTime,
                    Email      = m.User.Email,
                    GoodCount  = m.GoodCount,
                    ImagePath  = m.User.ImagePath,
                }).FirstAsync();

                using (IArticleToCategoryService articleToCategoryService = new ArticleToCategory())
                {
                    var cates = await articleToCategoryService.GetAllAsync().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> RemoveArticle(Guid articleId)   //根据文章Id删除
        {
            using (IArticleService articleSvc = new ArticleService())
            {
                var data = await articleSvc.GetAllAsync().FirstOrDefaultAsync(m => m.Id == articleId);

                var acid = data.Id;
                using (IArticleToCategoryService articleToCategoryService = new ArticleToCategoryService())
                {
                    //var article=await articleToCategoryService.GetAllAsync().Include(m => m.Article).Where(m => m.ArticleId == acid).ToListAsync();
                    //if (article.Count==0)   //说明该文章未被分类可以进行删除操作
                    //{
                    //    await articleSvc.RemoveAsync(data);
                    //    return 1;
                    //}
                    //else
                    //{
                    //    return 0;
                    //}

                    await articleSvc.RemoveAsync(data);

                    return(1);
                }
            }
        }
Beispiel #5
0
 public async Task <bool> ExistsArticle(Guid articleId)
 {
     using (BlogSystem.IdAL.IArticleService articleService = new ArticleService())
     {
         return(await articleService.GetAllAsync().AnyAsync(predicate: m => m.Id == articleId));
     }
 }
        public async Task <List <ArticleDto> > GetAllArticlesByUserId(Guid userId)
        {
            using (IArticleService articleSvc = new ArticleService())
            {
                var data = await articleSvc.GetAllAsync()
                           .Include(m => m.User)
                           .Where(m => m.UserId == userId)
                           .Where(m => m.IsRemoved == false)
                           .Select(m => new ArticleDto()
                {
                    Id         = m.Id,
                    Title      = m.Title,
                    Content    = m.Content,
                    GoodCount  = m.GoodCounnt,
                    BadCount   = m.BadCount,
                    CreateTime = m.CreateTime,
                    State      = m.State,
                    IsStick    = m.IsStick
                }).ToListAsync();

                return(data);
                //using (IArticleToCategoryService articleToCategorySvc = new ArticleToCategoryService())
                //{
                //    var cate = await articleToCategorySvc.GetAllAsync()
                //        .Include(m => m.BlogCategory)
                //        .Where(m => m.ArticleId == data.Id).ToListAsync();

                //    data.CategoryIds = cate.Select(m => m.BlogCategoryId).ToArray();
                //    data.CategoryNames = cate.Select(m => m.BlogCategory.CategoryName).ToArray();
                //    return data;
                //}
            }
        }
Beispiel #7
0
 public async Task <bool> ExistsArticle(Guid articleId)
 {
     using (IDAL.IArticleService articleService = new ArticleService())
     {
         return(await articleService.GetAllAsync().AnyAsync(m => m.Id == articleId));
     }
 }
        public async Task <List <ArticleDto> > GetAllArticlesByNickName(string nickName, string title, bool state, DateTime?start, DateTime?end)   //后台模糊查询(根据作者查询)
        {
            using (IArticleService articleService = new ArticleService())
            {
                //DateTime sta = Convert.ToDateTime(start);
                //DateTime en = Convert.ToDateTime(end);
                if (start.ToString() != "0001/1/1 0:00:00" || end.ToString() != "0001/1/1 0:00:00")
                {
                    var data = await articleService.GetAllAsync()
                               .Include(m => m.User)
                               .Where(m => m.State == state)
                               .Where(m => string.IsNullOrEmpty(nickName) & string.IsNullOrEmpty(title) || m.User.NickName.Contains(nickName) & m.Title.Contains(title))

                               .Where(m => m.CreateTime >= start & m.CreateTime <= end)
                               .OrderByDescending(m => m.CreateTime)
                               .Select(m => new ArticleDto()
                    {
                        Id         = m.Id,
                        Title      = m.Title,
                        NickName   = m.User.NickName,
                        State      = m.State,
                        CreateTime = m.CreateTime,
                    }).ToListAsync();

                    return(data);
                }
                else
                {
                    var data = await articleService.GetAllAsync()
                               .Include(m => m.User)
                               .Where(m => m.State == state)
                               .Where(m => string.IsNullOrEmpty(nickName) & string.IsNullOrEmpty(title) || m.User.NickName.Contains(nickName) & m.Title.Contains(title))
                               .OrderByDescending(m => m.CreateTime)
                               .Select(m => new ArticleDto()
                    {
                        Id         = m.Id,
                        Title      = m.Title,
                        NickName   = m.User.NickName,
                        State      = m.State,
                        CreateTime = m.CreateTime,
                    }).ToListAsync();

                    return(data);
                }
            }
        }
 public async Task <List <ArticleDto> > GetAllArticlesByState(bool state)  //根据发布状态查询文章
 {
     using (IArticleService articleSvc = new ArticleService())
     {
         return(await articleSvc.GetAllAsync().Where(m => m.State == state).Select(m => new ArticleDto()
         {
             Title = m.Title,
             Content = m.Content,
             CreateTime = m.CreateTime,
             State = m.State,
             GoodCount = m.GoodCounnt,
             BadCount = m.BadCount
         }).ToListAsync());
     }
 }
        public async Task <List <ArticleDto> > GetArticleLikeByArticleTitle(string title)
        {
            using (IArticleService articleService = new ArticleService())
            {
                var data = await articleService.GetAllAsync()
                           .Where(m => string.IsNullOrEmpty(title) || m.Title.Contains(title))
                           .OrderBy(m => Guid.NewGuid())
                           .Take(5)
                           .Select(m => new ArticleDto()
                {
                    Title = m.Title,
                    Id    = m.Id
                }).ToListAsync();

                return(data);
            }
        }
Beispiel #11
0
        public async Task <List <ArticleDto> > GetAllArticleByTime(DateTime times, Guid userid)     //查询当天发布的文章
        {
            using (IArticleService artSvc = new ArticleService())
            {
                var data = await artSvc.GetAllAsync()
                           .Where(m => m.CreateTime.Day == times.Day)
                           .Where(m => m.UserId == userid)
                           .Select(m => new ArticleDto()
                {
                    Title      = m.Title,
                    Id         = m.Id,
                    CreateTime = m.CreateTime
                }).ToListAsync();

                //2020/6/4 19:29:56
                return(data);
            }
        }
        public async Task EditStickyPostsByArticle(Guid id)  //设置文章置顶
        {
            using (IArticleService article = new ArticleService())
            {
                var data = await article.GetAllAsync().FirstAsync(m => m.Id == id);

                if (data != null)
                {
                    if (data.IsStick == 0)  //设置置顶
                    {
                        data.IsStick = 1;
                    }
                    else
                    {
                        data.IsStick = 0;   //取消置顶
                    }
                    await article.EditAsync(data);
                }
            }
        }
        public async Task <List <ArticleDto> > GetAllArticlesByNickName(string nickName, string title, bool state)   //后台模糊查询(根据作者查询)
        {
            using (IArticleService articleService = new ArticleService())
            {
                var data = await articleService.GetAllAsync()
                           .Include(m => m.User)
                           .Where(m => m.State == state)
                           .Where(m => string.IsNullOrEmpty(nickName) & string.IsNullOrEmpty(title) || m.User.NickName.Contains(nickName) & m.Title.Contains(title))
                           .OrderByDescending(m => m.CreateTime)
                           .Select(m => new ArticleDto()
                {
                    Id         = m.Id,
                    Title      = m.Title,
                    NickName   = m.User.NickName,
                    State      = m.State,
                    CreateTime = m.CreateTime,
                }).ToListAsync();

                return(data);
            }
        }
 public async Task <List <ArticleDto> > GetAllArticleIsFreeze(string search) //查询所有文章显示在主页(用户也可模糊查询)
 {
     using (IArticleService articleSvc = new ArticleService())
     {
         return(await articleSvc.GetAllAsync().Include(m => m.User)
                .Where(m => m.State == true & m.User.IsFreeze == false)
                .Where(m => string.IsNullOrEmpty(search) || m.Title.Contains(search) || m.User.NickName.Contains(search))
                .Select(m => new ArticleDto()
         {
             Id = m.Id,
             Title = m.Title,
             Content = m.Content,
             CreateTime = m.CreateTime,
             GoodCount = m.GoodCounnt,
             BadCount = m.BadCount,
             ImagePath = m.User.ImagePath,
             State = true,
             NickName = m.User.NickName,
             UserId = m.UserId
         }).ToListAsync());
     }
 }
        public async Task <ArticleDto> GetOneArticleById(Guid articleId)  //根据文章Id查询
        {
            using (IArticleService articleSvc = new ArticleService())
            {
                var data = await articleSvc.GetAllAsync()
                           .Include(m => m.User)
                           .Where(m => m.Id == articleId)
                           .Select(m => new ArticleDto()
                {
                    Id                = m.Id,
                    Title             = m.Title,
                    Content           = m.Content,
                    CreateTime        = m.CreateTime,
                    NickName          = m.User.NickName,
                    GoodCount         = m.GoodCounnt,
                    BadCount          = m.BadCount,
                    UserId            = m.UserId,
                    ImagePath         = m.User.ImagePath,
                    State             = m.State,
                    IsClosingComments = m.IsClosingComments
                }).FirstAsync();

                using (IArticleToCategoryService articleToCategorySvc = new ArticleToCategoryService())
                {
                    var cate = await articleToCategorySvc.GetAllAsync()
                               .Include(m => m.BlogCategory)
                               .Where(m => m.ArticleId == data.Id)
                               .Where(m => m.BlogCategory.IsRemoved == false)
                               .ToListAsync();

                    data.CategoryIds   = cate.Select(m => m.BlogCategoryId).ToArray();  //转化为数组Id
                    data.CategoryNames = cate.Select(m => m.BlogCategory.CategoryName).ToArray();
                    return(data);
                }
            }
        }