Exemplo n.º 1
0
        public ClassFilter CreateSearchFilter(DataAspect aspect, string filter)
        {
            if (string.IsNullOrEmpty(filter))
            {
                return(null);
            }
            else if (filter.Length < 3)
            {
                filter = filter + "%";
            }
            else
            {
                filter = "%" + filter.Replace(' ', '%') + "%";
            }

            Type stringType = typeof(string);
            ClassFilterExpression expression = null;
            DataAspect            dataAspect = aspect;
            int count = dataAspect.Count;

            for (int i = 0; i < count; i++)
            {
                //if (dataAspect[i].DataType == stringType)
                expression =
                    expression == null ?
                    new ClassFilterExpression(dataAspect, i, FilterComparison.Like, filter) :
                    expression.Or(i, FilterComparison.Like, filter);
            }

            return(expression);
        }
Exemplo n.º 2
0
 public ClassSelect <T> Search(string filter, params string[] fields)
 {
     if (string.IsNullOrEmpty(filter))
     {
         return(this);
     }
     else
     {
         ClassFilterExpression expression = new ClassFilterExpression(this._Aspect, fields[0], FilterComparison.Like, filter);
         for (int i = 1; i < fields.Length; i++)
         {
             expression.Or(fields[i], FilterComparison.Like, filter);
         }
         if (this._WhereFirst == null)
         {
             return(Where(expression));
         }
         else
         {
             return(And(expression));
         }
     }
 }