public static string Gravar(TRegistro_Plantio val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Plantio qtb_plantio = new TCD_Plantio(); try { if (banco == null) { st_transacao = qtb_plantio.CriarBanco_Dados(true); } else { qtb_plantio.Banco_Dados = banco; } val.Id_plantiostr = CamadaDados.TDataQuery.getPubVariavel(qtb_plantio.Gravar(val), "@P_ID_PLANTIO"); //Excluir talhoes val.lTalhoesPlantioDel.ForEach(p => TCN_Plantio_X_Talhoes.Excluir(p, qtb_plantio.Banco_Dados)); //Gravar talhoes val.lTalhoesPlantio.ForEach(p => { p.Id_plantio = val.Id_plantio; TCN_Plantio_X_Talhoes.Gravar(p, qtb_plantio.Banco_Dados); }); if (st_transacao) { qtb_plantio.Banco_Dados.Commit_Tran(); } return(val.Id_plantiostr); } catch (Exception ex) { if (st_transacao) { qtb_plantio.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar plantio: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_plantio.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_Plantio val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Plantio qtb_plantio = new TCD_Plantio(); try { if (banco == null) { st_transacao = qtb_plantio.CriarBanco_Dados(true); } else { qtb_plantio.Banco_Dados = banco; } val.lTalhoesPlantio.ForEach(p => TCN_Plantio_X_Talhoes.Excluir(p, qtb_plantio.Banco_Dados)); val.lTalhoesPlantioDel.ForEach(p => TCN_Plantio_X_Talhoes.Excluir(p, qtb_plantio.Banco_Dados)); qtb_plantio.Excluir(val); if (st_transacao) { qtb_plantio.Banco_Dados.Commit_Tran(); } return(val.Id_plantiostr); } catch (Exception ex) { if (st_transacao) { qtb_plantio.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir plantio: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_plantio.deletarBanco_Dados(); } } }