public static string GravarContratoxPedidoItem(TRegistro_CadContratoxPedidoItem val, TObjetoBanco banco) { bool st_transacao = false; TCD_CadContratoxPedidoItem qtb_ContratoxPedidoItem = new TCD_CadContratoxPedidoItem(); try { if (banco == null) { qtb_ContratoxPedidoItem.CriarBanco_Dados(true); st_transacao = true; } else { qtb_ContratoxPedidoItem.Banco_Dados = banco; } //Gravar Item Contrato string retorno = qtb_ContratoxPedidoItem.GravarContratoxPedidoItem(val); //Excluir Desdobro Especial val.lDesdEspecialDel.ForEach(p => TCN_ContratoItem_X_DesdEspecial.Excluir(p, qtb_ContratoxPedidoItem.Banco_Dados)); //Gravar Desdobro Especial val.lDesdEspecial.ForEach(p => { p.Nr_contratoorig = val.Nr_contrato; p.Nr_pedidoorig = val.Nr_pedido; p.Cd_produtoorig = val.Cd_produto; p.Id_pedidoitemorig = val.Id_pedidoitem; TCN_ContratoItem_X_DesdEspecial.Gravar(p, qtb_ContratoxPedidoItem.Banco_Dados); }); if (st_transacao) { qtb_ContratoxPedidoItem.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_ContratoxPedidoItem.Banco_Dados.RollBack_Tran(); } throw new Exception(ex.Message); } finally { if (st_transacao) { qtb_ContratoxPedidoItem.deletarBanco_Dados(); } } }
public static void GravarDesdobroContratoXPedidoItem(TList_CadContratoxPedidoItem val, TObjetoBanco banco) { bool st_transacao = false; TCD_CadContratoxPedidoItem qtb_reg = new TCD_CadContratoxPedidoItem(); try { if (banco == null) { st_transacao = qtb_reg.CriarBanco_Dados(true); } else { qtb_reg.Banco_Dados = banco; } val.ForEach(p => { //Excluir desdobros p.lDesdEspecialDel.ForEach(v => TCN_ContratoItem_X_DesdEspecial.Excluir(v, qtb_reg.Banco_Dados)); //Inserir/Alterar desdobros p.lDesdEspecial.ForEach(v => { v.Nr_contratoorig = p.Nr_contrato; v.Nr_pedidoorig = p.Nr_pedido; v.Cd_produtoorig = p.Cd_produto; v.Id_pedidoitemorig = p.Id_pedidoitem; TCN_ContratoItem_X_DesdEspecial.Gravar(v, qtb_reg.Banco_Dados); }); }); if (st_transacao) { qtb_reg.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_reg.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar desdobro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_reg.deletarBanco_Dados(); } } }