Example #1
0
 public Filtro(string nomeCampo, FiltroExpressao expressao, object valorInicial, object valorFinal = null, string prefixoCampo = "")
 {
     this.campo           = string.Format("{0}{1}", prefixoCampo, nomeCampo);
     this.filtroExpressao = expressao;
     this.valorInicial    = valorInicial;
     this.valorFinal      = valorFinal;
 }
Example #2
0
        /// <summary>
        /// adiciona um filtro para usar com select, use toString para pegar o filtro completo
        /// para os parâmetros abaixo, tenha por exemplo:
        /// Pessoa p = new Pessoa();
        /// Filtros f = new Filtros(p);
        /// f.Add(() => p.Nome, FiltroExpressao.ComecaCom, "M");
        /// </summary>
        /// <param name="exp">Propridade em formato expressão Lambda (() => x.Nome)</param>
        /// <param name="conteudoFiltro">Valor para o filtro (100, "Maria", etc)</param>
        /// <param name="expressao">FiltroExpressao.*</param>
        /// <param name="prefixoCampo">quando é um join que campo repete em mais tabelas coloque um prefixo</param>
        /// <param name="operador">FiltroOperador.And ou FiltroOperador.Or - apenas para se usar mais de um filtro</param>
        public Filtros Add <T>(Expression <Func <T> > exp, object conteudoFiltro, FiltroExpressao expressao = FiltroExpressao.Igual, string prefixoCampo = "", FiltrosOperador operador = FiltrosOperador.And)
        {
            string campo = Auxiliar.GetFieldName(exp, objetoModel);

            this.Add(campo, expressao, conteudoFiltro, prefixoCampo, null, operador);
            return(this);
        }
Example #3
0
        /// <summary>
        /// Veja o outro overload para descrição e exemplo de uso.
        /// </summary>
        protected Filtros Add(string campo, FiltroExpressao expressao, object valorInicial, string prefixoCampo = "", object valorFinal = null, FiltrosOperador operador = FiltrosOperador.And)
        {
            Filtro filtro = new Filtro(campo, expressao, valorInicial, valorFinal, prefixoCampo);

            sbFiltros.Append(filtro.ToString());
            AdicionarOperador(operador);
            return(this);
        }