public static string Gravar(TRegistro_CadFatDireto val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadFatDireto qtb_orc = new TCD_CadFatDireto(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } val.Id_faturamentostr = CamadaDados.TDataQuery.getPubVariavel(qtb_orc.Gravar(val), "@P_ID_FATURAMENTO"); val.lFicha.Where(p => p.st_agregar).ToList().ForEach(p => { TRegistro_CadFatDireto_Item item = new TRegistro_CadFatDireto_Item(); item.Id_orcamentostr = p.Id_orcamentostr; item.Id_projetostr = p.Id_projetostr; item.Nr_versaostr = p.Nr_versaostr; item.Id_registro = p.Id_registro; item.quantidade = p.quantidade_agregar; item.id_faturamento = Convert.ToDecimal(val.Id_faturamento); item.id_ficha = p.Id_fichastr; item.cd_empresa = p.Cd_empresa; TCN_CadFatDiretoItem.Gravar(item, qtb_orc.Banco_Dados); }); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(val.Id_faturamentostr); } 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(); } } }
public static string Excluir(TRegistro_Orcamento val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadFatDireto qtb_orc = new TCD_CadFatDireto(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } //Excluir despesas val.lDespesas.ForEach(p => TCN_Despesas.Excluir(p, qtb_orc.Banco_Dados)); val.lDespesasDel.ForEach(p => TCN_Despesas.Excluir(p, qtb_orc.Banco_Dados)); //Excluir Projetos val.lOrcProjeto.ForEach(p => TCN_OrcProjeto.Excluir(p, qtb_orc.Banco_Dados)); val.lOrcProjetoDel.ForEach(p => TCN_OrcProjeto.Excluir(p, qtb_orc.Banco_Dados)); //Excluir Orcamento // qtb_orc.Excluir(val); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return("OK"); } 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(); } } }