public bool ChamarCadastrar(FuncionarioModel funcionario) { var conexaoFireBird = Connection.GetInstancia().GetConexao(); var cmd = new FbCommand(); try { conexaoFireBird.Open(); cmd.Connection = conexaoFireBird; cmd.Transaction = conexaoFireBird.BeginTransaction(); cmd = EnderecoDao.Cadastrar(funcionario.Endereco, cmd); cmd = PessoaDao.Cadastrar(funcionario, cmd); var cadastro = new FuncionarioDao().Cadastrar(funcionario, cmd); if (cadastro) { MessageBox.Show("Funcionário cadastrado com sucesso."); cmd.Transaction.Commit(); return(true); } MessageBox.Show("Erro ao cadastrar"); cmd.Transaction.Rollback(); } catch (FbException fbex) { MessageBox.Show($@"Erro no banco ao salvar cadastro: {fbex.Message}"); cmd.Transaction.Rollback(); } catch (Exception e) { MessageBox.Show($@"Erro ao cadastrar funcionário: {e.Message}"); cmd.Transaction.Rollback(); } finally { cmd.Dispose(); if (conexaoFireBird.State != ConnectionState.Closed) { conexaoFireBird.Close(); } } return(false); }