/// <summary> /// adiciona um campo para ordenar um select (use o ToString()) /// </summary> /// <param name="exp">Propridade em formato expressão Lambda (() => x.Nome)</param> /// <param name="obj">Instância do objeto que contém a propriedade do primeiro parâmetro (ex: p)</param> /// <param name="operador">OrdemTipo.Asc (default) ou OrderTipo.Desc</param> public Ordem Add <T>(Expression <Func <T> > exp, OrdemTipo tipo = OrdemTipo.Asc) { string campo = Auxiliar.GetFieldName(exp, objetoModel); this.Add(campo, tipo); return(this); }
/// <summary> /// veja o outro overload para exemplo (é igual, só troca os dois primeiros parâmetros pelo nome do campo em string /// </summary> protected Ordem Add(string nomeCampo, OrdemTipo tipo = OrdemTipo.Asc) { if (this.orderBy.Length > 0) { this.orderBy.Append(","); } this.orderBy.Append(nomeCampo); if (tipo == OrdemTipo.Desc) { this.orderBy.Append(" desc"); } return(this); }