/// <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["nm_insumo"]); /// </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("nm_insumo")); /// 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 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 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 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)); }
/// <summary> /// Efetua um select na base e retorna um objeto T com base em um filtro (retorna apenas 1 registro) /// </summary> /// <c> /// Empregado empregado = new Empregado(); /// /// Filtros filtro = new Filtros().Add(() => empregado.Nome, empregado, FiltroExpressao.Igual, "Junior"); /// empregado = DAL.GetObjeto<Empregado>(filtro); /// /// if (empregado == null) /// Console.WriteLine("Nao encontrado!"); /// else /// Console.WriteLine(empregado.Id + "-" + empregado.Nome); /// </c> /// <typeparam name="T">Tipo do retorno</typeparam> /// <param name="filtro">Use a classe Filtros para montar o filtro</param> /// <returns>Retorna uma instância do Tipo</returns> public static T GetObjeto <T>(Filtros filtro) where T : class, new() { return(GetObjeto <T>(filtro.ToString())); }