public static string DeletarContrato(TRegistro_CadContrato val, TObjetoBanco banco) { bool st_transacao = false; TCD_CadContrato qtb_Contrato = new TCD_CadContrato(); try { if (banco == null) { st_transacao = qtb_Contrato.CriarBanco_Dados(true); } else { qtb_Contrato.Banco_Dados = banco; } //Deletar Contrato Headge val.lContrato_Headge.ForEach(p => TCN_CadContrato_Headge.DeletarContrato_Headge(p, qtb_Contrato.Banco_Dados)); val.lDelContrato_Headge.ForEach(p => TCN_CadContrato_Headge.DeletarContrato_Headge(p, qtb_Contrato.Banco_Dados)); //Deletar Taxa val.Taxas.ForEach(p => TCN_CadContratoTaxaDeposito.DeletarContratoTaxaDeposito(p, qtb_Contrato.Banco_Dados)); val.DelTaxas.ForEach(p => TCN_CadContratoTaxaDeposito.DeletarContratoTaxaDeposito(p, qtb_Contrato.Banco_Dados)); //Deletar desdobro especial val.lDesdobro.ForEach(p => TCN_Contrato_X_DesdEspecial.Excluir(p, qtb_Contrato.Banco_Dados)); val.lDesdobroDel.ForEach(p => TCN_Contrato_X_DesdEspecial.Excluir(p, qtb_Contrato.Banco_Dados)); //Cancelar lancamento estoque embalagem val.lEstoqueEmbalagem.ForEach(p => CamadaNegocio.Estoque.TCN_LanEstoque.DeletarEstoque( p, qtb_Contrato.Banco_Dados)); //Excluir contrato qtb_Contrato.Excluir(val); if (st_transacao) { qtb_Contrato.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_Contrato.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir contrato: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_Contrato.deletarBanco_Dados(); } } }
public static string GravarContrato(TRegistro_CadContrato val, TObjetoBanco banco) { bool st_transacao = false; TCD_CadContrato qtb_Contrato = new TCD_CadContrato(); try { if (banco == null) { st_transacao = qtb_Contrato.CriarBanco_Dados(true); } else { qtb_Contrato.Banco_Dados = banco; } string retorno = qtb_Contrato.Gravar(val); val.Nr_contrato = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_NR_CONTRATO")); //Deletar Contrato Headge val.lDelContrato_Headge.ForEach(p => TCN_CadContrato_Headge.DeletarContrato_Headge(p, qtb_Contrato.Banco_Dados)); //Gravar Contrato Headge val.lContrato_Headge.ForEach(p => { p.Nr_Contrato = val.Nr_contrato.Value; TCN_CadContrato_Headge.GravarContrato_Headge(p, qtb_Contrato.Banco_Dados); }); //Deletar Taxa val.DelTaxas.ForEach(p => TCN_CadContratoTaxaDeposito.DeletarContratoTaxaDeposito(p, qtb_Contrato.Banco_Dados)); //Gravar Taxa val.Taxas.ForEach(p => { p.Nr_contrato = val.Nr_contrato; TCN_CadContratoTaxaDeposito.GravarContratoTaxaDeposito(p, qtb_Contrato.Banco_Dados); }); //Excluir Desdobro Especial val.lDesdobroDel.ForEach(p => TCN_Contrato_X_DesdEspecial.Excluir(p, qtb_Contrato.Banco_Dados)); //Gravar Desdobro Especial val.lDesdobro.ForEach(p => { p.Nr_contrato = val.Nr_contrato; TCN_Contrato_X_DesdEspecial.Gravar(p, qtb_Contrato.Banco_Dados); }); if (st_transacao) { qtb_Contrato.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_Contrato.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar contrato: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_Contrato.deletarBanco_Dados(); } } }