public bool Inserir(Empresa e) { // QUANDO ABRIRMOS A CONEXAO, ELA JA ESTÁ SENDO ESTANCIADO COMO UMA TRANSAÇÃO. IDbTransaction trans = banco.AbrirConexaoComTransacao(); try { string SQL_empresa = string.Format( "INSERT INTO TB_Empresa" + "(EMP_CNPJ," + "EMP_RazaoSocial," + "EMP_Email)" + "VALUES ('{0}','{1}','{2}')" + "SELECT SCOPE_IDENTITY()", e.cnpj, e.razaoSocial, e.email); int id = banco.ExecutarComandoSQL(SQL_empresa, trans); if (id <= 0) { Debug.WriteLine("Erro - Inserir Empresa no BD -> String : " + SQL_empresa); trans.Rollback(); return(false); } else { Debug.WriteLine("OK - Inserir Empresa no BD -> String : " + SQL_empresa); } // Comprimento ? trocar para complemento string SQL_endereco = string.Format( "INSERT INTO TB_Endereco" + "(ENDE_Rua," + "ENDE_Numero," + "ENDE_Comprimento," + "ENDE_Bairro," + "ENDE_Municipio," + "ENDE_Estado," + "ENDE_CEP," + "ENDE_Cidade," + "ID_Empresa)" + "VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", e.endereco.rua, e.endereco.numero, e.endereco.complemento, e.endereco.bairro, e.endereco.municipio, e.endereco.estado, e.endereco.cep, e.endereco.cidade, id); if (banco.ExecutarComandoSQL(SQL_endereco, trans) < 0) { Debug.WriteLine("Erro - Endereço de Empresa -> String : " + SQL_endereco); trans.Rollback(); return(false); } else { Debug.WriteLine("OK - Endereço de Empresa -> String : " + SQL_endereco); } foreach (var telefone in e.telefone) { string SQL_telefone = string.Format( "INSERT INTO TB_Telefone" + "(Tel_DDI," + "Tel_DDD," + "Tel_Telefone," + "ID_EmpresaTel)" + "values ('{0}','{1}','{2}','{3}')", telefone.DDI, telefone.DDD, telefone.telefone, id); if (banco.ExecutarComandoSQL(SQL_telefone, trans) < 0) { Debug.WriteLine("Erro - Telefone de Empresa -> String : " + SQL_telefone); } else { Debug.WriteLine("OK - Telefone de Empresa -> String : " + SQL_telefone); } } //CASO NADA DE ERRADO EM NENHUMA DAS EXECUÇÕES DOS COMANDOS SQL, SERÁ DADO O COMMIT. trans.Commit(); Debug.WriteLine("OK - Empresa"); return(true); } catch (SqlException ex) { //SE ALGO DER ERRADO EM ALGUMA DAS INSERÇÕES, SERÁ DADO O ROLLBACK,ONDE VOLTARA AO SEU ESTADO ANTERIOR trans.Rollback(); Debug.Write("Erro - Empresa" + ex); return(false); } finally { banco.FecharConexao(); } }
public bool Inserir(Funcionario f) { // QUANDO ABRIRMOS A CONEXAO, ELA JA ESTÁ SENDO ESTANCIADO COMO UMA TRANSAÇÃO. IDbTransaction trans = banco.AbrirConexaoComTransacao(); try { string SQL_PesFuncionario = string.Format( "INSERT INTO TB_Pessoa" + "(CPF," + "RG," + "Nome," + "DataNasc," + "Sexo)" + "VALUES ('{0}','{1}','{2}','{3}','{4}')" + "SELECT SCOPE_IDENTITY()", f.cpf, f.rg, f.nome, f.dataNasc, f.sexo); int id = banco.ExecutarComandoSQL(SQL_PesFuncionario, trans); if (id <= 0) { Debug.WriteLine("Erro - Inserir Pessoa Funconario no BD -> String : " + SQL_PesFuncionario); trans.Rollback(); return(false); } else { Debug.WriteLine("OK - Inserir Pessoa Funconario no BD -> String : " + SQL_PesFuncionario); } // Comprimento ? trocar para complemento string SQL_endereco = string.Format( "INSERT INTO TB_Endereco" + "(ENDE_Rua," + "ENDE_Numero," + "ENDE_Comprimento," + "ENDE_Bairro," + "ENDE_Municipio," + "ENDE_Estado," + "ENDE_CEP," + "ENDE_Cidade," + "ID_Pessoa)" + "VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", f.endereco.rua, f.endereco.numero, f.endereco.complemento, f.endereco.bairro, f.endereco.municipio, f.endereco.estado, f.endereco.cep, f.endereco.cidade, id); int i = banco.ExecutarComandoSQL(SQL_endereco, trans); if (i < 0) { Debug.WriteLine("Erro - Endereço de Funcionario -> String : " + SQL_endereco); trans.Rollback(); return(false); } else { Debug.WriteLine("OK - Endereço de Funcionario -> String : " + SQL_endereco); } foreach (var telefone in f.Telefone) { string SQL_telefone = string.Format( "INSERT INTO TB_Telefone" + "(Tel_DDI," + "Tel_DDD," + "Tel_Telefone," + "ID_PessoaTel)" + "values ('{0}','{1}','{2}','{3}')", telefone.DDI, telefone.DDD, telefone.telefone, id); i = banco.ExecutarComandoSQL(SQL_telefone, trans); if (i < 0) { Debug.WriteLine("Erro - Telefone de Funcionario -> String : " + SQL_telefone); trans.Rollback(); return(false); } else { Debug.WriteLine("OK - Telefone de Funcionario -> String : " + SQL_telefone); } } string SQL_funcionario = string.Format( "INSERT INTO TB_Funcionario" + "(ID_Perfil," + "ID_Pessoa," + "Salario)" + "values ('{0}','{1}','{2}')", f.perfil.ID, id, f.salario); if (banco.ExecutarComandoSQL(SQL_funcionario, trans) < 0) { Debug.WriteLine("Erro - Perfil Tebela Funcionario -> String : " + SQL_funcionario); trans.Rollback(); return(false); } else { Debug.WriteLine("OK - Perfil Tebela Funcionario -> String : " + SQL_funcionario); } //CASO NADA DE ERRADO EM NENHUMA DAS EXECUÇÕES DOS COMANDOS SQL, SERÁ DADO O COMMIT. trans.Commit(); Debug.WriteLine("OK - Funcionario"); return(true); } catch (SqlException e) { //SE ALGO DER ERRADO EM ALGUMA DAS INSERÇÕES, SERÁ DADO O ROLLBACK,ONDE VOLTARA AO SEU ESTADO ANTERIOR trans.Rollback(); Debug.Write("Erro - Funcionario" + e); return(false); } finally { banco.FecharConexao(); } }
public bool Inserir(Veiculo v) { // QUANDO ABRIRMOS A CONEXAO, ELA JA ESTÁ SENDO ESTANCIADO COMO UMA TRANSAÇÃO. IDbTransaction trans = banco.AbrirConexaoComTransacao(); try { //TODO : Alterado no BD placa para varchar, criar alter table //TODO : Excluido Campo ID_marca Repetido, criar alter table // O BD esta com 2 campos para marca string SQL_Veiculo = string.Format( "INSERT INTO TB_Veiculo" + "(Vei_Placa," + "Vei_Marca," + "Vei_Modelo," + "Vei_Renavam," + "Vei_Cor," + "ID_EmpresaV)" + "VALUES ('{0}','{1}','{2}','{3}','{4}','{5}')" + "SELECT SCOPE_IDENTITY()", v.placa, v.marca, v.modelo, v.renavam, v.cor, v.empresa.ID); int id = banco.ExecutarComandoSQL(SQL_Veiculo, trans); if (id <= 0) { Debug.WriteLine("Erro - Inserir Veiculo no BD -> String : " + SQL_Veiculo); trans.Rollback(); return(false); } else { Debug.WriteLine("OK - Inserir Veiculo no BD -> String : " + SQL_Veiculo); } //CASO NADA DE ERRADO EM NENHUMA DAS EXECUÇÕES DOS COMANDOS SQL, SERÁ DADO O COMMIT. trans.Commit(); Debug.WriteLine("OK - Veiculo"); return(true); } catch (SqlException e) { //SE ALGO DER ERRADO EM ALGUMA DAS INSERÇÕES, SERÁ DADO O ROLLBACK,ONDE VOLTARA AO SEU ESTADO ANTERIOR trans.Rollback(); Debug.Write("Erro - Funcionario" + e); return(false); } finally { banco.FecharConexao(); } }