public List <ProdDto> GetList(ProdPara para, out int total) { try { var prods = GetList(para.RoleId, para.OrgId); var p = PredicateBuilder.Default <ProdDto>(); if (para.UserId.IsNotNullOrEmpty()) { p = p.And(m => m.UserId != null && m.UserId.Contains(para.UserId)); } if (para.StartTime > new DateTime()) { p = p.And(m => m.CreateDate >= para.StartTime); } if (para.EndTime > new DateTime()) { p = p.And(m => m.CreateDate < para.EndTime); } prods = prods.Where(p.Compile()).ToList(); total = prods.Count; var rlt = prods.OrderByDescending(m => m.CreateDate).Skip(para.PageNumber * para.PageSize).Take(para.PageSize).ToList(); return(rlt); } catch (Exception e) { Logger.Error("select * from prod error:", e); total = 0; return(new List <ProdDto>()); } }
public async Task <JsonResult> GetList(string userId, DateTime startTime, DateTime endTime, int page = 1, int rows = 20) { return(await Task.Run(() => { var para = new ProdPara { UserId = userId, StartTime = startTime, EndTime = endTime, PageNumber = page - 1, PageSize = rows, OrgId = LoginInfo.Org.Id, RoleId = LoginInfo.Role }; var rlt = _prodService.GetList(para, out var count); var data = rlt.MapTo <IEnumerable <ProdModel> >().ToList(); return new JsonResult(new { total = count, rows = data }); })); }