Ejemplo n.º 1
0
        public IEnumerable <Audit.UserProduct> GetUserProductList(Audit.UserProduct.Criteria criteria)
        {
            var UserProductList = (
                from product in _zdDBContext.UserProduct.Include(x => x.User).FilterBy(criteria, false)
                join record in _zdDBContext.AuditRecord.Include(a => a.Operator)
                on new
            {
                ID = product.Id.ToString(),
                AuditType = AuditType.Product.ToValue(),
                IdNotEqualNull = product.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 product.CreateDate descending
                select new Audit.UserProduct
            {
                ID = product.Id,
                RowId = Guid.NewGuid(),
                UserID = product.UserId,
                UnitPrice = product.UnitPrice,
                UserName = product.User.UserName,
                Content = product.Content,
                Title = product.Title,
                Cover = product.Cover,
                Tags = product.Tags,
                CreateDate = product.CreateDate,
                ViewCount = product.ViewCount,
                CollectCount = product.CollectCount,
                Status = product.Status,
                Remark = a.Remark,
                Telphone = product.User.Telphone,
                Auditor = a.Operator.Name,
                AuditDate = a.AuditDate
            });

            return(UserProductList
                   .Sort(criteria.SortField, criteria.IsOrderByDesc)
                   .PaginationBy(criteria)
                   .AsNoTracking()
                   .ToList());
        }
Ejemplo n.º 2
0
 public IActionResult GetUserProductList(Audit.UserProduct.Criteria criteria)
 {
     return(criteria.PageOf(x => _userProductRepo.GetUserProductList(x)));
 }