/// <summary> /// Tün kolonlarda arama (sadece data tipi string olanlar) /// </summary> /// <param name="searchBy"></param> /// <param name="columns"></param> /// <returns></returns> private Expression <Func <T, bool> > SearchAllColumnsQuery(string searchBy, List <Column> columns) { var filter = new Filter <T>(); var searchTerms = searchBy.Split('|').ToList().ConvertAll(x => x.ToLower()); Dictionary <string, string> keys = TypeofReferences <T> .GetAllTypeofReference(); foreach (Column col in columns.Where(k => keys.Select(m => m.Key).Contains(k.name))) { foreach (var srch in searchTerms) { filter.By(col.name, Operation.Contains, srch, Connector.Or); } } return(filter); }
/// <summary> /// Kolon Kolon Arama İşlemi /// </summary> /// <param name="columns"></param> /// <returns></returns> private Expression <Func <T, bool> > SearchSingleColumnQuery(List <Column> columns) { var filter = new Filter <T>(); foreach (Column col in columns) { if (col.search.value != null) { ExpressionOperationHelper operation = ExpressionOperation.GetExpressionOperation( TypeofReferences <T> .GetType(col.name), col.search.value, null); filter.By( col.name, operation.VOperation, operation.Value, Connector.And ); } } return(filter); }