Пример #1
0
        public WhereBuilder O(string campo, Comparacion tipo, object valor)
        {
            Campos a = Build("||", campo, tipo, valor);

            camp.Add(a);
            return(this);
        }
Пример #2
0
 public string Compilar()
 {
     for (int i = 0; i < camp.Count; i++)
     {
         Campos item = camp[i];
         cadena.AppendFormat(item.Campo, i);
     }
     parametros = camp.Select(x => x.Parametro).ToArray();
     return(cadena.ToString().Trim().Length > 3 ? cadena.ToString().Trim().Substring(3) : string.Empty);
 }
Пример #3
0
        private Campos Build(string evaluador, string campo, Comparacion tipo, object valor)
        {
            Campos objeto = new Campos();

            objeto.Parametro = valor;
            switch (tipo)
            {
            case Comparacion.Igual:
                objeto.Campo = evaluador + " " + campo + " == @{0} ";
                break;

            case Comparacion.NoIgual:
                objeto.Campo = evaluador + " " + campo + " != @{0} ";
                break;

            case Comparacion.Contiene:
                objeto.Campo = evaluador + " " + campo + ".Contains(@{0}) ";
                break;

            case Comparacion.NoContiene:
                objeto.Campo = evaluador + " !" + campo + ".Contains(@{0}) ";
                break;

            case Comparacion.MayorQue:
                objeto.Campo = evaluador + " " + campo + " > @{0} ";
                break;

            case Comparacion.MayorIgualQue:
                objeto.Campo = evaluador + " " + campo + " >= @{0} ";
                break;

            case Comparacion.MenorQue:
                objeto.Campo = evaluador + " " + campo + " < @{0} ";
                break;

            case Comparacion.MenorIgualQue:
                objeto.Campo = evaluador + " " + campo + " <= @{0} ";
                break;

            case Comparacion.En:
                objeto.Campo = evaluador + " " + campo + " == @{0} ";
                break;
            }
            return(objeto);
        }