public ActionResult PageData(int page = 1, int size = 10, string kw = "") { UserInfoOutputDto user = Session.GetByRedis <UserInfoOutputDto>(SessionKey.UserInfo) ?? new UserInfoOutputDto(); List <Issue> list = string.IsNullOrEmpty(kw) ? IssueBll.LoadPageEntitiesNoTracking(page, size, out int total, i => i.Level != BugLevel.Fatal || user.IsAdmin, i => i.SubmitTime, false).ToList() : IssueBll.LoadPageEntitiesNoTracking(page, size, out total, i => (i.Level != BugLevel.Fatal || user.IsAdmin) && (i.Description.Contains(kw) || i.Title.Contains(kw) || i.Name.Contains(kw) || i.Email.Contains(kw) || i.Link.Contains(kw)), i => i.SubmitTime, false).ToList(); var pageCount = Math.Ceiling(total * 1.0 / size).ToInt32(); return(PageResult(list.Select(i => new { i.Id, i.Name, i.Email, i.Title, i.Link, i.Description, i.SubmitTime, i.HandleTime, Status = i.Status.GetDisplay(), Level = i.Level.GetDisplay() }), pageCount, total)); }