/// <summary> /// /// </summary> /// <param name="pageSize"></param> /// <param name="pageIndex"></param> /// <returns></returns> public PagerData GetPagerData(int pageSize, int pageIndex) { SqlPager queryEr = new SqlPager(); queryEr.FirstResult = pageSize * pageIndex; queryEr.MaxResults = pageSize; DataTable dt = GetData(queryEr); ExecSqlQuery countQuery = new ExecSqlQuery(); if (SimpleCount) { countQuery.Sql = @"select count(1) as total " + FromSqlPart + " " + WhereAndOtherExpress; } else { countQuery.Sql = @"select count(1) as total " + string.Format(" from ({0}) t22 ", @"select 1 as id23 " + FromSqlPart + " " + WhereAndOtherExpress); } countQuery.ParamerList.AddRange(queryEr.ParamerList); IList listCountData = Ht.ExecuteFind(countQuery); int total = dt.Rows.Count; if (listCountData != null && listCountData.Count > 0) { int.TryParse(Convert.ToString((listCountData[0] as Hashtable)["total"]), out total); } PagerData returnData = new PagerData { Data = dt, Total = total }; return(returnData); }
/// <summary> /// Build一个分页用的Pager /// </summary> /// <param name="request"></param> /// <returns></returns> public static ExecSqlQuery BuildPager(MVCRequest request) { SqlPager queryEr = new SqlPager(); queryEr.FirstResult = request.Offset; queryEr.MaxResults = request.Rows; return(queryEr); }
public IHttpActionResult Main() { try { var body = new RequestBody(); if (!body.IsUserLoggin) { return(Unauthorized()); } var publishmentSystemId = body.GetPostInt("publishmentSystemId"); var nodeId = body.GetPostInt("nodeId"); var searchType = PageUtils.FilterSqlAndXss(body.GetPostString("searchType")); var keyword = PageUtils.FilterSqlAndXss(body.GetPostString("keyword")); var dateFrom = PageUtils.FilterSqlAndXss(body.GetPostString("dateFrom")); var dateTo = PageUtils.FilterSqlAndXss(body.GetPostString("dateTo")); var page = body.GetPostInt("page"); var user = new User(body.UserInfo); var groupInfo = UserGroupManager.GetGroupInfo(user.GroupId); var adminUserName = groupInfo.Additional.WritingAdminUserName; var nodeIdList = new List <int> { nodeId }; var writingNodeInfoList = PublishmentSystemManager.GetWritingNodeInfoList(adminUserName, publishmentSystemId); foreach (var writingNodeInfo in writingNodeInfoList) { if (StringUtils.In(writingNodeInfo.ParentsPath, nodeId.ToString())) { nodeIdList.Add(writingNodeInfo.NodeId); } } var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemId); var nodeInfo = NodeManager.GetNodeInfo(publishmentSystemId, nodeId); var tableName = NodeManager.GetTableName(publishmentSystemInfo, nodeInfo); var tableStyle = NodeManager.GetTableStyle(publishmentSystemInfo, nodeInfo); var relatedIdentities = RelatedIdentities.GetChannelRelatedIdentities(publishmentSystemId, nodeId); var sqlString = DataProvider.ContentDao.GetWritingSelectCommend(user.UserName, tableName, publishmentSystemId, nodeIdList, searchType, keyword, dateFrom, dateTo); var results = new List <Dictionary <string, object> >(); var sqlPager = new SqlPager { ItemsPerPage = 20, SelectCommand = sqlString, OrderByString = ETaxisTypeUtils.GetOrderByString(tableStyle, ETaxisType.OrderByAddDateDesc) }; sqlPager.DataBind(page); if (sqlPager.TotalCount > 0) { foreach (System.Data.DataRowView row in sqlPager.PagedDataSource.DataSource) { var contentInfo = new ContentInfo(row); results.Add(ContentUtility.ContentToDictionary(contentInfo, tableStyle, tableName, relatedIdentities)); } } return(Ok(new { Results = results, TotalPage = sqlPager.TotalPages })); } catch (Exception ex) { //return InternalServerError(ex); return(InternalServerError(new Exception("程序错误"))); } }