/// <summary> /// Método que preenche a relação de acordo com o formulário /// </summary> /// <param name="relacao"></param> private void PreencheRelacao(ref Model.MD_Relacao relacao) { Util.CL_Files.WriteOnTheLog("FO_Relacionamento.PreencheRelacao()", Util.Global.TipoLog.DETALHADO); relacao.DAO.NomeForeingKey = this.tbx_foreingKey.Text; relacao.DAO.CardinalidadeOrigem = this.tbx_cardOrigem.Text; relacao.DAO.CardinalidadeDestino = this.tbx_cardDestino.Text; }
/// <summary> /// Método que abre a janela de cadastro de relação /// </summary> /// <param name="campo">Classe de instância do campo</param> /// <param name="tarefa"></param> public void AbrirCadastroRelacao(Model.MD_Campos campoOrigem, Tarefa tarefa, Model.MD_Relacao relacao = null) { Util.CL_Files.WriteOnTheLog("FO_Principal.AbrirCadastroRelacao()", Util.Global.TipoLog.DETALHADO); Visao.FO_Relacionamento cadastro = null; if (relacao == null) { cadastro = new Visao.FO_Relacionamento(tarefa, campoOrigem, this); } else { cadastro = new Visao.FO_Relacionamento(tarefa, new Model.MD_Campos(relacao.DAO.CampoOrigem.Codigo, relacao.DAO.CampoOrigem.Tabela.Codigo, relacao.DAO.Projeto.Codigo), this, relacao); } cadastro.ShowDialog(); }
/// <summary> /// Contrutor principal da classe /// </summary> /// <param name="tarefa">Tarefa a ser executada na tela</param> /// <param name="campoOrigem">Campo de origem do relacionamento</param> /// <param name="principal">tela principal para controle de eventos</param> public FO_Relacionamento(Util.Enumerator.Tarefa tarefa, Model.MD_Campos campoOrigem, FO_Principal principal, Model.MD_Relacao relacao = null) { Util.CL_Files.WriteOnTheLog("FO_Relacionamento()", Util.Global.TipoLog.DETALHADO); this.campoOrigem = campoOrigem; if (relacao != null) { this.campoDestino = new Model.MD_Campos(relacao.DAO.CampoDestino.Codigo, relacao.DAO.CampoDestino.Tabela.Codigo, relacao.DAO.CampoDestino.Projeto.Codigo); } this.relacao = relacao; this.principal = principal; this.tarefa = tarefa; this.InitializeComponent(); this.InicializaForm(); }
/// <summary> /// Método que confirma o formulário /// </summary> private void Confirmar() { Util.CL_Files.WriteOnTheLog("FO_Relacionamento.Confirmar()", Util.Global.TipoLog.DETALHADO); if (this.tarefa == Util.Enumerator.Tarefa.VISUALIZAR) { this.tarefa = Util.Enumerator.Tarefa.EDITAR; this.InicializaForm(); } else { if (this.VerificaCampos()) { Model.MD_Tabela tabelaDestino = new Model.MD_Tabela(int.Parse(this.cmb_tabela.SelectedValue.ToString()), this.campoOrigem.DAO.Projeto.Codigo); this.campoDestino = new Model.MD_Campos(int.Parse(this.cmb_campos.SelectedValue.ToString()), tabelaDestino.DAO.Codigo, tabelaDestino.DAO.Projeto.Codigo); Model.MD_Relacao relacao = (this.tarefa == Util.Enumerator.Tarefa.EDITAR ? this.relacao : new Model.MD_Relacao(DataBase.Connection.GetIncrement("RELACAO"), this.campoOrigem.DAO.Projeto, this.campoOrigem.DAO.Tabela, tabelaDestino.DAO, this.campoOrigem.DAO, this.campoDestino.DAO)); this.relacao = relacao; this.PreencheRelacao(ref relacao); bool worked = false; if (this.tarefa == Util.Enumerator.Tarefa.EDITAR) { worked = relacao.DAO.Update(); } else { worked = relacao.DAO.Insert(); } if (worked) { Message.MensagemSucesso("Cadastro efetuado com sucesso!"); this.tarefa = Util.Enumerator.Tarefa.VISUALIZAR; this.principal.CarregaTreeViewAutomaticamente(); this.InicializaForm(); } else { Message.MensagemErro("Erro ao cadastrar!"); } } } }
/// <summary> /// Evento lançado no clique da opção de visualizar a relacao /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_visualizarRelacao_Click(object sender, System.EventArgs e) { Util.CL_Files.WriteOnTheLog("UC_ControleTabelas().btn_visualizarRelacao_Click()", Util.Global.TipoLog.DETALHADO); if (this.dgv_tabelas.SelectedRows.Count == 0) { Message.MensagemAlerta("Selecione alguma tabela"); } else if (this.dgv_campos.SelectedRows.Count == 0) { Message.MensagemAlerta("Selecione algum campo"); } else { Model.MD_Campos campoOrigem = this.listaCampos[this.dgv_campos.SelectedRows[0].Index]; Model.MD_Relacao relacao = Model.MD_Relacao.RetornaRelacao(campoOrigem); FO_Relacionamento relacionamento = new FO_Relacionamento(Util.Enumerator.Tarefa.VISUALIZAR, campoOrigem, principal, relacao); relacionamento.ShowDialog(); } }
/// <summary> /// Método que trata os relacionamentos /// </summary> /// <param name="projeto">Projeto ao qual o relacionamento pertence</param> /// <param name="relacionamentos">Relacionamentos a serem importadas para o projeto</param> private static void TratarRelacionamento(Model.MD_Projeto projeto, ref List <Model.Relacionamento> relacionamentos, ref BarraDeCarregamento barra) { Util.CL_Files.WriteOnTheLog("Importador.TratarRelacionamento()", Util.Global.TipoLog.DETALHADO); foreach (Model.Relacionamento r in relacionamentos) { barra.AvancaBarra(1); bool existe = false; int rCodigo = CodigoRelacionamento(r, projeto.DAO.Codigo, ref existe); Model.Tabela tabelaOrigemDesc = new Model.Tabela(); tabelaOrigemDesc.nome = r.tabelaOrigem; Model.Tabela tabelaDestinoDesc = new Model.Tabela(); tabelaDestinoDesc.nome = r.tabelaDestino; Model.Campo campoOrigemDesc = new Model.Campo(); campoOrigemDesc.Name_Field = r.campoOrigem; campoOrigemDesc.Tabela = tabelaOrigemDesc.nome; Model.Campo campoDestinoDesc = new Model.Campo(); campoDestinoDesc.Name_Field = r.campoDestino; campoDestinoDesc.Tabela = tabelaDestinoDesc.nome; bool x = true; Model.MD_Tabela tabelaOrigem = new Model.MD_Tabela(CodigoTabela(tabelaOrigemDesc, projeto.DAO.Codigo, ref x), projeto.DAO.Codigo); if (!x) { tabelaOrigem.DAO.Insert(); } Model.MD_Tabela tabelaDestino = new Model.MD_Tabela(CodigoTabela(tabelaDestinoDesc, projeto.DAO.Codigo, ref x), projeto.DAO.Codigo); if (!x) { tabelaDestino.DAO.Insert(); } Model.MD_Campos campoOrigem = new Model.MD_Campos(CodigoColuna(campoOrigemDesc, projeto.DAO.Codigo, ref x), tabelaOrigem.DAO.Codigo, tabelaOrigem.DAO.Projeto.Codigo); if (!x) { campoOrigem.DAO.Insert(); } Model.MD_Campos campoDestino = new Model.MD_Campos(CodigoColuna(campoDestinoDesc, projeto.DAO.Codigo, ref x), tabelaDestino.DAO.Codigo, tabelaDestino.DAO.Projeto.Codigo); if (!x) { campoDestino.DAO.Insert(); } Model.MD_Relacao relacao = new Model.MD_Relacao(rCodigo, projeto.DAO, tabelaOrigem.DAO, tabelaDestino.DAO, campoOrigem.DAO, campoDestino.DAO); relacao.DAO.NomeForeingKey = r.constraintName; if (existe) { relacao.DAO.Update(); } else { relacao.DAO.Insert(); } tabelaOrigemDesc = null; tabelaDestinoDesc = null; campoOrigemDesc = null; campoDestinoDesc = null; relacao = null; tabelaOrigem = null; tabelaDestino = null; campoOrigem = null; campoDestino = null; } }