Beispiel #1
0
        public static string DeletarRequisicao(TRegistro_Requisicao val, BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_Requisicao qtb_req      = new TCD_Requisicao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_req.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_req.Banco_Dados = banco;
                }
                if (val.St_requisicao.Trim().ToUpper().Equals("AC") && val.Id_ordem == null)
                {
                    //Deletar negociacao
                    val.lregnegdel.ForEach(p => TCN_Requisicao_X_Negociacao.DeletarRequisicao_X_Negociacao(p, qtb_req.Banco_Dados));
                    val.lReqneg.ForEach(p =>
                    {
                        p.Id_requisicao = val.Id_requisicao;
                        TCN_Requisicao_X_Negociacao.DeletarRequisicao_X_Negociacao(p, qtb_req.Banco_Dados);
                    });
                    //Verificar se Requisição for originada pelo modulo empreendimento
                    CamadaDados.Empreendimento.TList_CompraEmpreendimento lEmpCompra =
                        CamadaNegocio.Empreendimento.TCN_CompraEmpreendimento.Buscar(val.Cd_empresa,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     string.Empty,
                                                                                     val.Id_requisicao.ToString(),
                                                                                     qtb_req.Banco_Dados);
                    //Excluir Compra Empreendimento.
                    lEmpCompra.ForEach(p => CamadaNegocio.Empreendimento.TCN_CompraEmpreendimento.Excluir(p, qtb_req.Banco_Dados));
                    //Deletar Cotacao
                    val.lCotacoes.ForEach(p => TCN_Cotacao.DeletarCotacao(p, qtb_req.Banco_Dados));
                    //Gravar requisicao
                    qtb_req.DeletarRequisicao(val);
                }
                else
                {
                    //Altera o status para CA - Cancelada
                    val.St_requisicao = "CA";
                    AlterarRequisicao(val, qtb_req.Banco_Dados);
                }
                if (st_transacao)
                {
                    qtb_req.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_req.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir requisição: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_req.deletarBanco_Dados();
                }
            }
        }
Beispiel #2
0
        public static string GravarRequisicao(TRegistro_Requisicao val, BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_Requisicao qtb_req      = new TCD_Requisicao();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_req.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_req.Banco_Dados = banco;
                }
                //Gravar requisicao
                string retorno = qtb_req.GravarRequisicao(val);
                val.Id_requisicao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_REQUISICAO"));
                //Gravar Cotação
                val.lCotacoes.ForEach(p =>
                {
                    p.Id_requisicao = val.Id_requisicao;
                    TCN_Cotacao.GravarCotacao(p, qtb_req.Banco_Dados);
                });
                //Gravar negociacao
                val.lReqneg.ForEach(p =>
                {
                    p.Id_requisicao = val.Id_requisicao;
                    p.Cd_empresa    = val.Cd_empresa;
                    TCN_Requisicao_X_Negociacao.GravarRequisicao_X_Negociacao(p, qtb_req.Banco_Dados);
                });
                val.lOrdemProd.ForEach(p =>
                {
                    p.Id_requisicao = val.Id_requisicao;
                    p.Cd_empresa    = val.Cd_empresa;
                    CamadaNegocio.Producao.Producao.TCN_OrdemProducao_X_Requisicao.Gravar(p, qtb_req.Banco_Dados);
                });
                //Deletar Negociacao
                val.lregnegdel.ForEach(p => TCN_Requisicao_X_Negociacao.DeletarRequisicao_X_Negociacao(p, qtb_req.Banco_Dados));
                if (st_transacao)
                {
                    qtb_req.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_req.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar requisição: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_req.deletarBanco_Dados();
                }
            }
        }