public static string Excluir(TRegistro_Orcamento val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Orcamento qtb_orc = new TCD_Orcamento(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } //Excluir itens val.lItens.ForEach(p => TCN_Orcamento_X_Itens.Excluir(p, qtb_orc.Banco_Dados)); val.lItensDel.ForEach(p => TCN_Orcamento_X_Itens.Excluir(p, qtb_orc.Banco_Dados)); //Excluir encaixotamento val.lEnc.ForEach(p => TCN_Encaixotamento.Excluir(p, qtb_orc.Banco_Dados)); val.lEncDel.ForEach(p => TCN_Encaixotamento.Excluir(p, qtb_orc.Banco_Dados)); qtb_orc.Excluir(val); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(val.Id_orcamentostr); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir orçamento: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_Orcamento val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Orcamento qtb_orc = new TCD_Orcamento(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } val.Id_orcamentostr = CamadaDados.TDataQuery.getPubVariavel(qtb_orc.Gravar(val), "@P_ID_ORCAMENTO"); //Excluir itens if (val.lItensDel != null) { val.lItensDel.ForEach(p => TCN_Orcamento_X_Itens.Excluir(p, qtb_orc.Banco_Dados)); } //Gravar itens if (val.lItens != null) { val.lItens.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_orcamento = val.Id_orcamento; TCN_Orcamento_X_Itens.Gravar(p, qtb_orc.Banco_Dados); }); } //Excluir encaixotamento if (val.lEncDel != null) { val.lEncDel.ForEach(p => TCN_Encaixotamento.Excluir(p, qtb_orc.Banco_Dados)); } //Gravar encaixotamento if (val.lEnc != null) { val.lEnc.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_orcamento = val.Id_orcamento; TCN_Encaixotamento.Gravar(p, qtb_orc.Banco_Dados); }); } if (val.lSerDel != null) { val.lSerDel.ForEach(p => TCN_ServicoOrc.Excluir(p, qtb_orc.Banco_Dados)); } if (val.lSer != null) { val.lSer.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_orcamento = val.Id_orcamento; TCN_ServicoOrc.Gravar(p, qtb_orc.Banco_Dados); }); } if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(val.Id_orcamentostr); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar orçamento: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }