public WhereBuilder O(string campo, Comparacion tipo, object valor) { Campos a = Build("||", campo, tipo, valor); camp.Add(a); return(this); }
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); }
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); }