public static string Excluir(TRegistro_CentroResultado val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CentroResultado qtb_cr = new TCD_CentroResultado(); try { if (banco == null) { st_transacao = qtb_cr.CriarBanco_Dados(true); } else { qtb_cr.Banco_Dados = banco; } qtb_cr.Excluir(val); if (st_transacao) { qtb_cr.Banco_Dados.Commit_Tran(); } return(val.Cd_centroresult); } catch { if (st_transacao) { qtb_cr.Banco_Dados.RollBack_Tran(); } val.St_registro = "C"; qtb_cr.Gravar(val); return(val.Cd_centroresult); } finally { if (st_transacao) { qtb_cr.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_CentroResultado val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CentroResultado qtb_cr = new TCD_CentroResultado(); try { if (banco == null) { st_transacao = qtb_cr.CriarBanco_Dados(true); } else { qtb_cr.Banco_Dados = banco; } if (val.St_sinteticobool) { val.Tp_registro = string.Empty; } val.Cd_centroresult = CamadaDados.TDataQuery.getPubVariavel(qtb_cr.Gravar(val), "@P_CD_CENTRORESULT"); //Excluir Histórico val.lHistDel.ForEach(p => { TCN_CentroResult_X_Historico.Excluir( new TRegistro_CentroResult_X_Historico() { Cd_centroresult = val.Cd_centroresult, Cd_historico = p.Cd_historico }, qtb_cr.Banco_Dados); }); //Gravar Histórico val.lHist.ForEach(p => { TCN_CentroResult_X_Historico.Gravar( new TRegistro_CentroResult_X_Historico() { Cd_centroresult = val.Cd_centroresult, Cd_historico = p.Cd_historico }, qtb_cr.Banco_Dados); }); if (st_transacao) { qtb_cr.Banco_Dados.Commit_Tran(); } return(val.Cd_centroresult); } catch (Exception ex) { if (st_transacao) { qtb_cr.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar centro resultado: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_cr.deletarBanco_Dados(); } } }