public static string Gravar(TRegistro_PromocaoVenda val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PromocaoVenda qtb_promocao = new TCD_PromocaoVenda(); try { if (banco == null) { st_transacao = qtb_promocao.CriarBanco_Dados(true); } else { qtb_promocao.Banco_Dados = banco; } val.Id_promocaostr = CamadaDados.TDataQuery.getPubVariavel(qtb_promocao.Gravar(val), "@P_ID_PROMOCAO"); //Excluir Grupos val.lGrupoDel.ForEach(p => TCN_Promocao_X_Grupo.Excluir(p, qtb_promocao.Banco_Dados)); //Gravar Grupos val.lGrupo.ForEach(p => { p.Id_promocao = val.Id_promocao; TCN_Promocao_X_Grupo.Gravar(p, qtb_promocao.Banco_Dados); }); if (st_transacao) { qtb_promocao.Banco_Dados.Commit_Tran(); } return(val.Id_promocaostr); } catch (Exception ex) { if (st_transacao) { qtb_promocao.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar promocao: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_promocao.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_PromocaoVenda val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_PromocaoVenda qtb_promocao = new TCD_PromocaoVenda(); try { if (banco == null) { st_transacao = qtb_promocao.CriarBanco_Dados(true); } else { qtb_promocao.Banco_Dados = banco; } val.lGrupo.ForEach(p => TCN_Promocao_X_Grupo.Excluir(p, qtb_promocao.Banco_Dados)); val.lGrupoDel.ForEach(p => TCN_Promocao_X_Grupo.Excluir(p, qtb_promocao.Banco_Dados)); qtb_promocao.Excluir(val); if (st_transacao) { qtb_promocao.Banco_Dados.Commit_Tran(); } return(val.Id_promocaostr); } catch (Exception ex) { if (st_transacao) { qtb_promocao.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir promocao: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_promocao.deletarBanco_Dados(); } } }