public LibraryCondition(FilteringMode filteringMode, FilteringCondition condition, int maxLimitNum = 0, string filteringText = null) { FilteringMode = filteringMode; Condition = condition?? FilteringCondition.Empty; MaxLimitNum = maxLimitNum; FilteringText = filteringText; }
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(); } }
/// <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()); }
/// <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)); }