Esempio n. 1
0
        public IEnumerable <Audit.UserArticleList> GetUserArticleList(Audit.UserArticleList.Criteria criteria)
        {
            var userArticleList = (
                from article in _zdDBContext.UserArticle.Include(x => x.User).FilterBy(criteria, false)
                join record in _zdDBContext.AuditRecord.Include(a => a.Operator)
                on new
            {
                ID = article.Id.ToString(),
                AuditType = AuditType.Article.ToValue(),
                IdNotEqualNull = article.Id != null
            }
                equals new
            {
                ID = record.AuditId,
                record.AuditType,
                IdNotEqualNull = true
            } into cr
                from a in cr.DefaultIfEmpty()
                where string.IsNullOrEmpty(criteria.Auditor) || a.Operator.Name == criteria.Auditor
                where criteria.AuditStartDate == null && criteria.AuditEndDate == null ||
                a.AuditDate >= criteria.AuditStartDate && a.AuditDate <= Convert.ToDateTime(criteria.AuditEndDate).AddDays(1)
                orderby article.CreateDate descending
                select new Audit.UserArticleList
            {
                ID = article.Id,
                RowId = Guid.NewGuid(),
                UserID = article.UserId,
                UserName = article.User.UserName,
                Type = article.Type,
                Title = article.Title,
                Status = article.Status,
                CreateDate = article.CreateDate,
                UpdateDate = article.UpdateDate,
                Content = article.Content,
                Cover = article.Cover,
                IsHot = article.IsHot,
                ViewCount = article.ViewCount,
                LikeCount = article.LikeCount,
                CollectCount = article.CollectCount,
                CommentCount = article.CommentCount,
                Tags = article.Tags,
                Remark = a.Remark,
                Telphone = article.User.Telphone,
                Auditor = a.Operator.Name,
                AuditDate = a.AuditDate
            });

            return(userArticleList
                   .Sort(criteria.SortField, criteria.IsOrderByDesc)
                   .PaginationBy(criteria)
                   .AsNoTracking()
                   .ToList());
        }
Esempio n. 2
0
 public IActionResult GetUserArticleList(Audit.UserArticleList.Criteria criteria)
 => criteria.PageOf(x => _userArticleRepo.GetUserArticleList(x));