public DatabaseObjectInfo(string databaseObjectName, EDatabaseObjectType type, List<StoredProcedureParameter> parameters = null, string query = null) { Name = databaseObjectName; StoredProcedureParameters = parameters; QuerySql = query; DatabaseObjectType = type; }
/// <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<ColumnInfo> CarregaCamposObjeto(string nomeObjeto, EDatabaseObjectType tipo, bool retornaDados = false) { try { var colunasObjeto = new List<ColumnInfo>(); switch (tipo) { case EDatabaseObjectType.Tabela: colunasObjeto = Gerador.TableMapping.ListAllFieldsFromTable(BancoSelecionado, nomeObjeto, User); break; case EDatabaseObjectType.View: colunasObjeto = Gerador.ViewMapping.ListAllFieldsFromViews(BancoSelecionado, nomeObjeto, User); break; case EDatabaseObjectType.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.StoredProcedureMapping.ListAllFieldsFromStoredProcedure(BancoSelecionado, nomeObjeto, Parameters, User); } else { return retornaDados ? colunasObjeto : new List<ColumnInfo>(); } break; default: throw new ArgumentOutOfRangeException("tipo", "Tipo inválido"); } if (retornaDados) { return colunasObjeto; } //Carrega o objeto que deve ser exibido if (_selectedObjects == null) { return new List<ColumnInfo>(); } return colunasObjeto; } catch (Exception ex) { MessageBox.Show(string.Format("Erro:\n{0}", ex.Message), ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error); 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, EDatabaseObjectType tipo) { try { if (ObjetosSelecionado == null) { var colunasObjeto = new List<ColumnInfo>(); switch (tipo) { case EDatabaseObjectType.Tabela: colunasObjeto = Gerador.TableMapping.ListAllFieldsFromTable(BancoSelecionado, nomeObjeto, DadosLogin); break; case EDatabaseObjectType.View: colunasObjeto = Gerador.ViewMapping.ListAllFieldsFromViews(BancoSelecionado, nomeObjeto, DadosLogin); break; case EDatabaseObjectType.Procedure: Parametros = Gerador.StoredProcedureMapping.ListAllStoredProceduresParameters(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.StoredProcedureMapping.ListAllFieldsFromStoredProcedure(BancoSelecionado, nomeObjeto, Parametros, DadosLogin); } break; case EDatabaseObjectType.Query: colunasObjeto = Colunas; break; default: throw new ArgumentOutOfRangeException("tipo", "Tipo inválido"); } ObjetosSelecionado = tipo == EDatabaseObjectType.Query ? new DatabaseObjectInfo(nomeObjeto, tipo, Parametros, Consulta) {Columns = colunasObjeto} : new DatabaseObjectInfo(nomeObjeto, tipo, Parametros) {Columns = colunasObjeto}; } GridView.CarregaGridViewColunas(gvColunasObjeto, ObjetosSelecionado, IlObjetos); } catch (Exception ex) { MessageBox.Show(string.Format("Erro:\n{0}", ex.Message), ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private static int RetornaImagem(EDatabaseObjectType tipo) { switch (tipo) { case EDatabaseObjectType.Tabela: return 0; case EDatabaseObjectType.View: return 1; case EDatabaseObjectType.Procedure: return 2; case EDatabaseObjectType.Query: return 8; } return 0; }