public static string Excluir(TRegistro_CadEmpresa val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadEmpresa qtb_emp = new TCD_CadEmpresa(); try { if (st_transacao) { st_transacao = qtb_emp.CriarBanco_Dados(true); } else { qtb_emp.Banco_Dados = banco; } val.lSocios.ForEach(p => TCN_SociosEmpresa.Excluir(p, qtb_emp.Banco_Dados)); val.lSociosDel.ForEach(p => TCN_SociosEmpresa.Excluir(p, qtb_emp.Banco_Dados)); val.lInsc.ForEach(p => TCN_InscSubstEmpresa.Excluir(p, qtb_emp.Banco_Dados)); val.lInscDel.ForEach(p => TCN_InscSubstEmpresa.Excluir(p, qtb_emp.Banco_Dados)); try { qtb_emp.Excluir(val); } catch { //Exclusao logica val.St_registro = "C"; qtb_emp.Gravar(val); } if (st_transacao) { qtb_emp.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_emp.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir empresa: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_emp.deletarBanco_Dados(); } } }