示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }