コード例 #1
0
        /// <summary>
        /// 根据PageRequest来查询,返回PagedQueryResult
        /// </summary>
        /// <param name="prp"></param>
        /// <param name="where"></param>
        /// <param name="orderBy"></param>
        /// <returns></returns>
        public PagedQueryResult <T, TCollection> Query(IPageRequestParams prp, string where, string orderBy)
        {
            prp.NullCheck("prp");

            int totalCount = 0;

            PagedQueryResult <T, TCollection> result = this.InnerQuery(prp.ToRowIndex(), prp.PageSize, prp.Top, string.Empty, string.Empty, where, orderBy, totalCount);

            this.OnAfterQuery(result.PagedData);

            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 根据页面参数,select字句,from子句,条件对象,排序条件构造分页查询
        /// </summary>
        /// <param name="prp"></param>
        /// <param name="select">SQL语句的select部分。如果为空,则使用*</param>
        /// <param name="from">SQL语句的from部分。如果为空,则使用返回对象的ORTableMapping中TableName属性</param>
        /// <param name="conditionObject"></param>
        /// <param name="orderByBuilder"></param>
        /// <returns></returns>
        public PagedQueryResult <T, TCollection> Query(IPageRequestParams prp, string select, string from, object conditionObject, IEnumerable <IOrderByRequestItem> orderByBuilder)
        {
            prp.NullCheck("prp");

            int totalCount = 0;

            string where = ConditionObjectToWhereString(conditionObject);

            string orderBy = string.Empty;

            if (orderByBuilder != null)
            {
                OrderBySqlClauseBuilder wrappedBuilder = OrderBySqlClauseBuilder.CreateWrapperBuilder(orderByBuilder);
                orderBy = wrappedBuilder.ToSqlString(TSqlBuilder.Instance);
            }

            PagedQueryResult <T, TCollection> result = this.InnerQuery(prp.ToRowIndex(), prp.PageSize, prp.Top, select, from, where, orderBy, totalCount);

            this.OnAfterQuery(result.PagedData);

            return(result);
        }
コード例 #3
0
        public PagedQueryResult <UserTaskModel, UserTaskModelCollection> LoadUserTasks(IPageRequestParams prp, UserTaskQueryCriteria condition, IEnumerable <IOrderByRequestItem> orderByBuilder)
        {
            ConnectiveSqlClauseCollection sqlCollection = new ConnectiveSqlClauseCollection();

            sqlCollection.Add(ConditionMapping.GetConnectiveClauseBuilder(condition));

            string sqlBuilder = sqlCollection.ToSqlString(TSqlBuilder.Instance);
            var    result     = Query(prp, sqlBuilder, orderByBuilder);

            return(result);
        }
コード例 #4
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="prp"></param>
 public PagedQueryResult(IPageRequestParams prp)
 {
     this.PageIndex  = prp.PageIndex;
     this.PageSize   = prp.PageSize;
     this.TotalCount = prp.TotalCount;
 }
コード例 #5
0
 /// <summary>
 /// 根据页面参数,条件对象,排序条件构造分页查询。select默认使用*。from部分使用返回对象的ORTableMapping中TableName属性
 /// </summary>
 /// <param name="prp"></param>
 /// <param name="conditionObject"></param>
 /// <param name="orderByBuilder"></param>
 /// <returns></returns>
 public PagedQueryResult <T, TCollection> Query(IPageRequestParams prp, object conditionObject, IEnumerable <IOrderByRequestItem> orderByBuilder)
 {
     return(this.Query(prp, string.Empty, string.Empty, conditionObject, orderByBuilder));
 }