/// <summary> /// Carrega os campos do objeto alvo /// </summary> /// <param name="nomeObjeto">nome do objeto</param> /// <param name="tipo">tipo do objeto (tabela,view,procedure)</param> /// <param name="retornaDados">REtorna a lista de campos obtidas</param> private List<DadosColunas> CarregaCamposObjeto(string nomeObjeto, TipoObjetoBanco.ETipoObjeto tipo, bool retornaDados = false) { try { var colunasObjeto = new List<DadosColunas>(); switch (tipo) { case TipoObjetoBanco.ETipoObjeto.Tabela: colunasObjeto = Gerador.MapeamentoTabela.ListAllFieldsFromTable(BancoSelecionado, nomeObjeto, DadosLogin); break; case TipoObjetoBanco.ETipoObjeto.View: colunasObjeto = Gerador.MapeamentoView.ListAllFieldsFromViews(BancoSelecionado, nomeObjeto, DadosLogin); break; case TipoObjetoBanco.ETipoObjeto.Procedure: if (MessageBox.Show(string.Format("Algumas procedures podem desencadear uma sequencia de insert's, update's e delete's.\nExecute apenas procedures que você conheça o funcionamento e que retornem dados.\nDeseja executar a procedure '{0}' ?", nomeObjeto), "ATENÇÃO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { colunasObjeto = Gerador.MapeamentoProcedure.ListAllFieldsFromStoredProcedure(BancoSelecionado, nomeObjeto, Parametros, DadosLogin); } else { return retornaDados ? colunasObjeto : new List<DadosColunas>(); } break; default: throw new ArgumentOutOfRangeException("tipo", "Tipo inválido"); } if (retornaDados) { return colunasObjeto; } //Carrega o objeto que deve ser exibido if (_objetosSelecionados == null) { _objetosSelecionados = new List<KeyValuePair<TipoObjetoBanco, List<DadosColunas>>>(); } _objetosSelecionados.Add(new KeyValuePair<TipoObjetoBanco, List<DadosColunas>>(new TipoObjetoBanco(nomeObjeto, tipo.ToString(), Parametros), colunasObjeto)); } catch (Exception ex) { MessageBox.Show(string.Format("Erro:\n{0}", ex.Message), ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } return null; }
/// <summary> /// Carrega os campos do objeto alvo /// </summary> /// <param name="nomeObjeto">nome do objeto</param> /// <param name="tipo">tipo do objeto (tabela,view,procedure)</param> private void CarregaCamposObjeto(string nomeObjeto, TipoObjetoBanco.ETipoObjeto tipo) { try { if (ObjetosSelecionado.Key == null) { var colunasObjeto = new List<DadosColunas>(); switch (tipo) { case TipoObjetoBanco.ETipoObjeto.Tabela: colunasObjeto = Gerador.MapeamentoTabela.ListAllFieldsFromTable(BancoSelecionado, nomeObjeto, DadosLogin); break; case TipoObjetoBanco.ETipoObjeto.View: colunasObjeto = Gerador.MapeamentoView.ListAllFieldsFromViews(BancoSelecionado, nomeObjeto, DadosLogin); break; case TipoObjetoBanco.ETipoObjeto.Procedure: Parametros = Gerador.MapeamentoProcedure.ListaAllStoredProceduresParameters(BancoSelecionado, DadosLogin, nomeObjeto); if (Parametros.Count > 0) { var frm = new frmParametros { Parametros = Parametros }; if (frm.ShowDialog(this) == DialogResult.Yes) { Parametros = frm.Parametros; } frm.Dispose(); } if (MessageBox.Show(string.Format("Algumas procedures podem desencadear uma sequencia de insert's, update's e delete's.\nExecute apenas procedures que você conheça o funcionamento e que retornem dados.\nDeseja executar a procedure '{0}' ?", nomeObjeto), "ATENÇÃO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { colunasObjeto = Gerador.MapeamentoProcedure.ListAllFieldsFromStoredProcedure(BancoSelecionado, nomeObjeto, Parametros, DadosLogin); } break; case TipoObjetoBanco.ETipoObjeto.Query: colunasObjeto = Colunas; break; default: throw new ArgumentOutOfRangeException("tipo", "Tipo inválido"); } ObjetosSelecionado = tipo == TipoObjetoBanco.ETipoObjeto.Query ? new KeyValuePair<TipoObjetoBanco, List<DadosColunas>>(new TipoObjetoBanco(nomeObjeto, tipo.ToString(), Parametros, Consulta), colunasObjeto) : new KeyValuePair<TipoObjetoBanco, List<DadosColunas>>(new TipoObjetoBanco(nomeObjeto, tipo.ToString(), Parametros), colunasObjeto); } GridView.CarregaGridViewColunas(gvColunasObjeto, ObjetosSelecionado, IlObjetos); } catch (Exception ex) { MessageBox.Show(string.Format("Erro:\n{0}", ex.Message), ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error); } }