private IContextoDAO InicializaDAO(Tipo entidade) { IContextoDAO dao = Daos[entidade.GetType().Name]; if (dao == null) { return(null); } if (ConexaoAtiva == null) { dao.AbrirConexao(); dao.ComecaTransacao(); ConexaoAtiva = dao.RetornaConexao(); TransacaoAtiva = dao.RetornaTransacao(); } else { dao.CompartilhaConexao(ConexaoAtiva); dao.CompartilharTransacao(TransacaoAtiva); } return(dao); }