public static void Gravar(TRegistro_LanPesagem val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ProdutoDerivado qtb_prod = new TCD_ProdutoDerivado(); try { if (banco == null) { st_transacao = qtb_prod.CriarBanco_Dados(true); } else { qtb_prod.Banco_Dados = banco; } val.lProdutoDerivado.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Tp_pesagem = val.Tp_pesagem; p.Id_ticket = val.Id_ticket; if (p.Qtd_embalagem > 0) { Gravar(p, qtb_prod.Banco_Dados); } else { Excluir(p, qtb_prod.Banco_Dados); } }); //Gravar quantidade total embalagem na pesagem val.Qtd_embalagem = val.lProdutoDerivado.Sum(p => p.Qtd_embalagem); new TCD_LanPesagem(qtb_prod.Banco_Dados).GravaPesagem(val); if (st_transacao) { qtb_prod.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_prod.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar produto derivado: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_prod.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_ProdutoDerivado val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ProdutoDerivado qtb_prod = new TCD_ProdutoDerivado(); try { if (banco == null) { st_transacao = qtb_prod.CriarBanco_Dados(true); } else { qtb_prod.Banco_Dados = banco; } qtb_prod.Excluir(val); if (st_transacao) { qtb_prod.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_prod.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir registro: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_prod.deletarBanco_Dados(); } } }