public static string Gravar(TRegistro_CadGrupoCF val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadGrupoCF qtb_grupocf = new TCD_CadGrupoCF(); try { if (banco == null) { st_transacao = qtb_grupocf.CriarBanco_Dados(true); } else { qtb_grupocf.Banco_Dados = banco; } if (string.IsNullOrEmpty(val.Cd_grupocf_pai) && (!val.St_sinteticobool)) { throw new Exception("Obrigatorio informar grupo custo fixo pai para gravar registro analitico."); } //Gravar GrupoCf val.Cd_grupocf = CamadaDados.TDataQuery.getPubVariavel(qtb_grupocf.Gravar(val), "@P_CD_GRUPOCF"); //Gravar Grupo CF nos Historicos val.lHistorico.ForEach(p => { p.Cd_grupoCF = val.Cd_grupocf; TCN_CadHistorico.Gravar(p, qtb_grupocf.Banco_Dados); }); //Excluir Historicos do Grupo CF val.lHistDel.ForEach(p => { p.Cd_grupoCF = string.Empty; TCN_CadHistorico.Gravar(p, qtb_grupocf.Banco_Dados); }); if (st_transacao) { qtb_grupocf.Banco_Dados.Commit_Tran(); } return(val.Cd_grupocf); } catch (Exception ex) { if (st_transacao) { qtb_grupocf.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar grupo custo fixo: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_grupocf.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_CadGrupoCF val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadGrupoCF qtb_grupocf = new TCD_CadGrupoCF(); try { if (banco == null) { st_transacao = qtb_grupocf.CriarBanco_Dados(true); } else { qtb_grupocf.Banco_Dados = banco; } //Excluir historicos do grupo cf val.lHistDel.ForEach(p => { p.Cd_grupoCF = string.Empty; TCN_CadHistorico.Gravar(p, qtb_grupocf.Banco_Dados); }); val.lHistorico.ForEach(p => { p.Cd_grupoCF = string.Empty; TCN_CadHistorico.Gravar(p, qtb_grupocf.Banco_Dados); }); //Gravar GrupoCf qtb_grupocf.Excluir(val); if (st_transacao) { qtb_grupocf.Banco_Dados.Commit_Tran(); } return("OK"); } catch { val.St_registro = "C"; return(Gravar(val, null)); } finally { if (st_transacao) { qtb_grupocf.deletarBanco_Dados(); } } }