/// <summary> /// Efetuar um select com JOIN usando com ponto de ligação o attribute IsKey do dataPai e o atribute IsPK do dataFilho /// </summary> /// <param name="dataPai">Instância do objeto pai (mestre)</param> /// <param name="dataFilho">Instância do objeto filho (detalhes)</param> /// <param name="filtro">Use um objeto da classe Filtros</param> /// <param name="ordem">Use um objeto da classe Ordem</param> /// <returns>Retorna um objeto DataTable</returns> /// <code> /// Empresa emp = new Empresa(); /// Funcionario f1 = new Funcionario(); /// /// DataTable dt = DAL.ListarDataTableJoin(emp, f1, new Filtros(), new Ordem()); /// /// foreach (DataRow dr in dt.Rows) /// System.Console.WriteLine(dr["cd_empresa"] + "-" + dr["nm_empresa"] + "=" + dr["cd_funcionario"] + "-" + dr["nome"]); /// </code> public static DataTable ListarDataTableJoin(object dataPai, object dataFilho, Filtros filtro, Ordem ordem) { return ListarDataTableJoin(dataPai, dataFilho, filtro.ToString(), ordem.ToString()); }
/// <summary> /// Efetuar um select com JOIN usando com ponto de ligação o attribute IsKey do dataPai e o atribute IsPK do dataFilho /// </summary> /// <param name="dataPai">Instância do objeto pai (mestre)</param> /// <param name="dataFilho">Instância do objeto filho (detalhes)</param> /// <param name="filtro">Use a classe Filtros</param> /// <param name="ordem">Use a classe Ordem</param> /// <returns>Retorna um objeto Leitor</returns> /// <code> /// Empresa emp = new Empresa(); /// Funcionario f1 = new Funcionario(); /// Leitor l = DAL.ListarJoin(emp, f1, new Filtros(), new Ordem()); /// while (!l.Eof) /// { /// System.Console.WriteLine(l.GetString("cd_empresa") + "-" + l.GetString("nm_empresa") + "=" + l.GetString("cd_funcionario") + "-" + l.GetString("nome")); /// l.Next(); /// } /// </code> public static Leitor ListarJoin(object dataPai, object dataFilho, Filtros filtro, Ordem ordem) { return ListarJoin(dataPai, dataFilho, filtro.ToString(), ordem.ToString()); }
/// <summary> /// Efetua um select na base com where e order by opcionais e retorna num objeto tipo DataTable /// </summary> /// <c> /// DataTable tb = DAL.ListarDataTable(new Usuario(), new Filtros(), new Ordem()); /// foreach (DataRow r in tb.Rows) /// Console.WriteLine(r["nm_usuario"].ToString()); /// </c> /// <param name="data">Instância do objeto</param> /// <param name="filtro">É string, mas ao invés de passar um string direto, use a classe Filtros para facilitar</param> /// <param name="group">É string, mas ao invés de passar um string direto, use a classe Filtros para facilitar</param> /// <param name="ordem">É string, mas ao invés de passar os campos diretamente, use a classe Order</param> /// <returns>Retorna um objeto DataTable contendo os registros</returns> public static DataTable ListarDataTable(object data, Filtros filtro, Ordem ordem, string group = "", int limite = 0) { return Listar(data, filtro.ToString(), ordem.ToString(), group, limite).Data; }
/// <summary> /// Efetua um select na base e retorna uma list de objeto T com base em um filtro e order by /// <c> List<Usuario> lista = DAL.ListarObjetos<Usuario>(typeof(Usuario));</c> /// </summary> /// <typeparam name="E">Tipo do List de retorno</typeparam> /// <param name="filtro">Use a classe Filtros para montar o filtro</param> /// <param name="ordem">É string, mas ao invés de passar os campos diretamente, use a classe Order</param> /// <returns>Retorna uma List de instâncias do Tipo</returns> public static List<E> ListarObjetos<E>(Filtros filtro, Ordem ordem) where E : class, new() { return ListarObjetos<E>(filtro.ToString(), ordem.ToString()); }
/// <summary> /// Efetua um select na base com where e order by opcionais e retorna num objeto tipo Leitor /// </summary> /// <code> /// Leitor l = DAL.Listar(new Empregado(), new Filtros(), new Ordem()); /// while (!l.Eof) /// { /// Console.WriteLine(l.GetString("id_empregado") + "-" + l.GetString("nm_empregado")); /// l.Next(); /// } /// </code> /// <param name="data">Instância do objeto</param> /// <param name="filtro">É um objeto do tipo Filtros para não retornar tudo</param> /// <param name="ordem">É um objeto tipo Ordem para organizar a saída</param> /// <returns>Retorna um objeto do tipo Leitor para usar em loopings</returns> public static Leitor Listar(object data, Filtros filtro, Ordem ordem, string group, int limite = 0) { return Listar(data, filtro.ToString(), ordem.ToString(), group, limite); }