Пример #1
0
        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());
        }
Пример #2
0
        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));
        }