public static string Gravar(TRegistro_Convenio val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Convenio qtb_convenio = new TCD_Convenio(); try { if (banco == null) { st_transacao = qtb_convenio.CriarBanco_Dados(true); } else { qtb_convenio.Banco_Dados = banco; } val.Id_conveniostr = CamadaDados.TDataQuery.getPubVariavel(qtb_convenio.Gravar(val), "@P_ID_CONVENIO"); val.lCliforDel.ForEach(p => TCN_Convenio_Clifor.Excluir(p, qtb_convenio.Banco_Dados)); val.lClifor.ForEach(p => { p.Id_convenio = val.Id_convenio; p.Cd_empresa = val.Cd_empresa; TCN_Convenio_Clifor.Gravar(p, qtb_convenio.Banco_Dados); }); if (st_transacao) { qtb_convenio.Banco_Dados.Commit_Tran(); } return(val.Id_conveniostr); } catch (Exception ex) { if (st_transacao) { qtb_convenio.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar convenio: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_convenio.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_Convenio val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Convenio qtb_convenio = new TCD_Convenio(); try { if (banco == null) { st_transacao = qtb_convenio.CriarBanco_Dados(true); } else { qtb_convenio.Banco_Dados = banco; } //Excluir clifor val.lClifor.ForEach(p => TCN_Convenio_Clifor.Excluir(p, qtb_convenio.Banco_Dados)); val.lCliforDel.ForEach(p => TCN_Convenio_Clifor.Excluir(p, qtb_convenio.Banco_Dados)); //Verificar se o convenio possui movimentacao if (new TCD_VendaCombustivel(qtb_convenio.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_convenio", vOperador = "=", vVL_Busca = val.Id_conveniostr }, new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim( ) + "'" } }, "1") != null) { val.St_registro = "E";//Encerrado Gravar(val, qtb_convenio.Banco_Dados); } else { qtb_convenio.Excluir(val); } if (st_transacao) { qtb_convenio.Banco_Dados.Commit_Tran(); } return(val.Id_conveniostr); } catch (Exception ex) { if (st_transacao) { qtb_convenio.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir convenio: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_convenio.deletarBanco_Dados(); } } }