Ejemplo n.º 1
0
 public LibraryCondition(FilteringMode filteringMode, FilteringCondition condition, int maxLimitNum = 0, string filteringText = null)
 {
     FilteringMode = filteringMode;
     Condition = condition?? FilteringCondition.Empty;
     MaxLimitNum = maxLimitNum;
     FilteringText = filteringText;
 }
Ejemplo n.º 2
0
        private void AddExpressionByCondition(FilteringCondition condition, string conditionType, string equalOperator, string value)
        {
            string resultValue = equalOperator == "!=" ? FilteringInfo.notSymbol + value : value;

            switch (conditionType)
            {
            case "in":
                condition.EntityInclude.Add(resultValue);
                break;

            case "hl":
                condition.EntityHighlignt.Add(resultValue);
                break;

            default:
                throw new InvalidOperationException();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="facade"></param>
        /// <param name="sql"></param>
        /// <param name="paged"></param>
        /// <param name="condition"></param>
        /// <param name="total"></param>
        /// <returns></returns>
        public static DataTable SqlQueryPaged(this IDbConnection connect, string sql, PagedAndSortedResultRequestDto paged, FilteringCondition condition, out int total, IDbTransaction transaction = null)
        {
            var strSql  = sql + condition.ConditionalText;
            var dparams = condition.GetDynamicParams();

            var totalSql = $"Select Count(1) From( {strSql}) As t";

            total = connect.ExecuteScalar(totalSql, dparams, transaction: transaction).ToInt();

            var sb = SqlPageSql(strSql, paged.Sorting, paged.SkipCount, paged.MaxResultCount);

            return(connect.ExecuteReader(sb.ToString(), dparams, transaction: transaction).ToDataTable());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="facade"></param>
        /// <param name="sql"></param>
        /// <param name="paged"></param>
        /// <param name="condition"></param>
        /// <param name="total"></param>
        /// <returns></returns>
        public static DataTable SqlQueryPaged(this DatabaseFacade facade, string sql, PagedAndSortedResultRequestDto paged, FilteringCondition condition, out int total)
        {
            var strSql = sql + condition.ConditionalText;

            var parameter = new List <DbParameter>();

            foreach (var item in condition.FilteringParams)
            {
                parameter.Add(new SqlParameter {
                    ParameterName = item.Name, Value = item.Value
                });
            }

            var parameter2 = new DbParameter[parameter.Count];

            parameter.CopyTo(parameter2);

            var totalSql = $"Select Count(1) From( {strSql}) As t";

            total = facade.ExecuteScalar(totalSql, parameter.ToArray()).ToInt();

            var sb = SqlPageSql(strSql, paged.Sorting, paged.SkipCount, paged.MaxResultCount);

            return(facade.SqlQuery(sb.ToString(), parameter2));
        }