public static string Excluir(TRegistro_CompraEmpreendimento val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CompraEmpreendimento qtb_orc = new TCD_CompraEmpreendimento(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } 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 requisicao: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
public static string GravarDireto(TRegistro_Orcamento orcamento, TList_FichaTec litens, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CompraEmpreendimento qtb_orc = new TCD_CompraEmpreendimento(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } TList_CadCFGEmpreendimento lCfg = TCN_CadCFGEmpreendimento.Busca(string.Empty, string.Empty, qtb_orc.Banco_Dados); if (lCfg.Count.Equals(0)) { throw new Exception("Não existe cadastro CFG.Empreendimento."); } TList_FichaTec itensDireto = new TList_FichaTec(); if (litens == null) { orcamento.lOrcProjeto.ForEach(o => { o.lFicha.ForEach(p => { if (p.St_fatdiretobool) { itensDireto.Add(p); } }); }); } else { litens.ForEach(p => { itensDireto.Add(p); }); } string ret = string.Empty; itensDireto.ForEach(p => { CamadaDados.Compra.Lancamento.TRegistro_Requisicao req = new CamadaDados.Compra.Lancamento.TRegistro_Requisicao(); req.Cd_empresa = orcamento.Cd_empresa; req.Cd_produto = p.Cd_produto; req.Ds_produto = p.Ds_produto; req.Quantidade = p.quantidade_agregar == decimal.Zero? p.Quantidade : p.quantidade_agregar; CamadaDados.Financeiro.Cadastros.TList_CadClifor lclifor = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_cmp_usuariocompra x " + "where x.cd_clifor_cmp = a.cd_clifor " + "and isnull(x.st_requisitar, 'N') = 'S' " + "and x.login = '******')" } }, 0, string.Empty); if (lclifor.Count > 0) { req.Cd_clifor_comprador = lclifor[0].Cd_clifor; req.Cd_clifor_requisitante = lclifor[0].Cd_clifor; } req.St_requisicao = "AC"; req.Id_tprequisicaostr = p.St_fatdiretobool ? lCfg[0].tp_requisicaodir: lCfg[0].tp_requisicao; //GRAVAR req.Id_requisicao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel( CamadaNegocio.Compra.Lancamento.TCN_Requisicao.GravarRequisicao(req, qtb_orc.Banco_Dados), "@P_ID_REQUISICAO")); TRegistro_CompraEmpreendimento val = new TRegistro_CompraEmpreendimento(); val.Id_orcamentostr = p.Id_orcamentostr; val.Id_registrostr = p.Id_registrostr; val.Id_requisicao = req.Id_requisicao; val.Nr_versao = p.Nr_versao; val.Id_ficha = p.Id_ficha; val.id_atividade = p.Id_projetostr; val.Cd_empresa = p.Cd_empresa; ret = qtb_orc.Gravar(val); val.Id_requisicao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_REQUISICAO")); }); //string ret = qtb_orc.Gravar(val); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(ret); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar requisicao: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }