public IQueryable <Talks> LoadPageData(TalkQueryParam talkQueryParam) { var temp = DbSession.TalksDal.GetEntities(u => u.Status == delNormal).AsQueryable();; #region 状态 //short delFlag = -1; //if (!String.IsNullOrEmpty(talkQueryParam.Status)) //{ // if (("正常").Contains(talkQueryParam.Status)) // { // delFlag = 0; // } //}delNormal //if (delFlag > -1) //{ // temp = temp.Where(u => u.Status == delFlag); //} #endregion #region 团队ID if (!talkQueryParam.isSuper) { temp = temp.Where(u => u.OrganizeInfoID == talkQueryParam.OrganizeInfoID).AsQueryable(); } #endregion #region 用户名称 if (!String.IsNullOrEmpty(talkQueryParam.UserInfoShowName)) { temp = temp.Where(u => u.UserInfo.UserInfoShowName.Contains(talkQueryParam.UserInfoShowName)).AsQueryable(); } #endregion #region 团队名称 if (!String.IsNullOrEmpty(talkQueryParam.OrganizeInfoShowName)) { temp = temp.Where(u => u.OrganizeInfo.OrganizeInfoShowName.Contains(talkQueryParam.UserInfoShowName)).AsQueryable(); } #endregion //TODO:Test #region 点赞数 if (!String.IsNullOrEmpty(talkQueryParam.TalkFavorsNum)) { temp = temp.Where(u => (u.TalkFavorsNum).ToString().Contains(talkQueryParam.TalkFavorsNum)).AsQueryable(); } #endregion //TODO:极大概率出错 #region 创建时间 if (!String.IsNullOrEmpty(talkQueryParam.CreateTime)) { temp = temp.Where(u => (u.CreateTime).ToString().Contains(talkQueryParam.CreateTime)).AsQueryable(); } #endregion talkQueryParam.Total = temp.Count(); return(temp.OrderBy(u => u.TalkID).Skip(talkQueryParam.PageSize * (talkQueryParam.PageIndex - 1)).Take(talkQueryParam.PageSize).AsQueryable()); }
public ActionResult GetAllTalks() { int pageSize = int.Parse(Request["limit"] ?? "5"); int offset = int.Parse(Request["offset"] ?? "0"); int pageIndex = (offset / pageSize) + 1; TalkQueryParam talkQueryParam = new TalkQueryParam(); if (!string.IsNullOrEmpty(Request["filter"])) { talkQueryParam = Newtonsoft.Json.JsonConvert.DeserializeObject <TalkQueryParam>(Request["filter"]); } talkQueryParam.PageSize = pageSize; talkQueryParam.PageIndex = pageIndex; if (LoginOrganize.OrganizeInfoManageId != null) { talkQueryParam.OrganizeInfoID = LoginOrganize.OrganizeInfoID; talkQueryParam.isSuper = false; } else { talkQueryParam.isSuper = true; } talkQueryParam.Total = 0; var pageData = TalksService.LoadPageData(talkQueryParam).Select(u => new { u.TalkID, u.UserInfo.UserInfoShowName, u.OrganizeInfo.OrganizeInfoShowName, u.TalkFavorsNum, u.CreateTime, u.Status, u.UserInfo.UserInfoLoginId }).AsQueryable(); var data = new { total = talkQueryParam.Total, rows = pageData.ToList() }; return(Json(data, JsonRequestBehavior.AllowGet)); }