Esempio n. 1
0
        public ActionResult Create(Sala collection)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View("CadastroSala"));
                }

                SalaAPI         API     = new SalaAPI();
                MensagemRetorno retorno = API.Post(collection);
                TempData["Mensagem"] = retorno.ToString();

                if (retorno.Tipo == "success")
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    return(View("CadastroSala"));
                }
            }
            catch
            {
                TempData["Mensagem"] = new MensagemRetorno
                {
                    Titulo   = "Erro!",
                    Mensagem = "Instabilidade no sistema, tente novamente mais tarde!",
                    Tipo     = "error"
                }.ToString();

                return(View("CadastroSala"));
            }
        }
        private MensagemRetorno GerarMensagemRetorno(ConsultaSicarResposta resposta)
        {
            var resultado = new MensagemRetorno();

            if (resposta.dados == null)
            {
                resultado.codigoResposta    = 500;
                resultado.mensagensResposta = new List <string> {
                    "Ocorreu um erro ao processar o arquivo do CAR."
                };
                resultado.idtImovel     = null;
                resultado.diretorioTemp = null;
            }
            else
            {
                var sicarUrl = ConfigurationManager.AppSettings["SicarUrl"];


                resultado.codigoResposta         = 200;
                resultado.idtImovel              = resposta.dados.id;
                resultado.codigoImovel           = resposta.dados.codigoImovel;
                resultado.codigoImovelComMascara = Regex.Replace(resposta.dados.codigoImovel, @"([A-Z]{2}-\d{7}-)([A-Z0-9]{4})([A-Z0-9]{4})([A-Z0-9]{4})([A-Z0-9]{4})([A-Z0-9]{4})([A-Z0-9]{4})([A-Z0-9]{4})([A-Z0-9]{4})", @"${1}${2}.${3}.${4}.${5}.${6}.${7}.${8}.${9}");
                resultado.diretorioTemp          = null;
                resultado.statusImovel           = resposta.dados.statusImovel;
                resultado.urlReciboInscricao     = sicarUrl + "/pdf/" + resposta.dados.codigoImovel + "/gerar";
                resultado.mensagensResposta      = new List <string> {
                    "Imóvel inserido com sucesso no banco de dados do Sicar - Sistema Nacional de Cadastro Ambiental Rural."
                };
                resultado.imoveisImpactados = null;
                resultado.protocoloImovel   = resposta.dados.protocolo;
            }

            return(resultado);
        }
Esempio n. 3
0
        public ActionResult Create(Reserva collection)
        {
            try
            {
                // remove a verifição do nome da sala, que não é usado aqui
                ModelState.Remove("Sala.Nome");

                if (!ModelState.IsValid)
                {
                    return(View("CadastroReserva"));
                }

                ReservasAPI     API     = new ReservasAPI();
                MensagemRetorno retorno = API.Post(collection);
                TempData["Mensagem"] = retorno.ToString();

                if (retorno.Tipo == "success")
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    return(View("CadastroReserva"));
                }
            }
            catch
            {
                TempData["Mensagem"] = new MensagemRetorno
                {
                    Titulo   = "Erro!",
                    Mensagem = "Instabilidade no sistema, tente novamente mais tarde!",
                    Tipo     = "error"
                }.ToString();

                return(View("CadastroReserva"));
            }
        }
Esempio n. 4
0
        public static int AtualizarControleSICAR(OracleConnection conn, MensagemRetorno resultado, RequisicaoJobCar requisicao, int situacaoEnvio, string tid, string arquivoCar = "", string tipo = "", bool catchEnviar = false, string codigoProtocolo = "")
        {
            var schema = CarUtils.GetEsquemaInstitucional();

            var item = ObterItemControleCar(conn, requisicao);

            var pendencias          = "";
            var condicao            = "Aguardando Análise";
            var mensagensDeResposta = String.Empty;
            var mensagemErro        = "";

            if (resultado == null)
            {
                resultado = new MensagemRetorno {
                    mensagensResposta = new List <string>()
                };
            }
            else
            {
                if (resultado.mensagensResposta == null)
                {
                    mensagensDeResposta = "Erro de conexão com o SICAR, será feita uma nova tentativa ; ";
                    situacaoEnvio       = SITUACAO_ENVIO_ARQUIVO_REPROVADO;
                }
                else
                {
                    if (resultado.codigoResposta != MensagemRetorno.CodigoRespostaSucesso)
                    {
                        if (resultado.mensagensResposta.Count > 1 ||
                            (tipo.Equals("gerar-car") && resultado.mensagensResposta.Count >= 1) ||
                            resultado.codigoResposta == 400 ||
                            resultado.codigoResposta == 500)
                        {
                            resultado.mensagensResposta = TratandoMensagens(conn, resultado.mensagensResposta);
                            pendencias    = resultado.mensagensResposta.Aggregate("", (current, resposta) => current + (resposta + " ; "));
                            situacaoEnvio = SITUACAO_ENVIO_ARQUIVO_REPROVADO;
                        }
                        else
                        {
                            situacaoEnvio = SITUACAO_ENVIO_ARQUIVO_ENTREGUE;
                        }
                        //pendencias = pendencias.Replace("O arquivo especificado contém informações inválidas.;", "");
                    }
                    foreach (var men in resultado.mensagensResposta)
                    {
                        mensagensDeResposta = String.Concat(mensagensDeResposta, men);
                        mensagensDeResposta = String.Concat(mensagensDeResposta, "  ;  ");

                        if (men.Contains("sobreposição") && men.Contains("100"))
                        {
                            mensagemErro = men;
                        }
                    }
                }
            }

            var sqlBuilder = new StringBuilder();

            sqlBuilder.Append("UPDATE " + schema + ".TAB_CONTROLE_SICAR SET ");
            sqlBuilder.Append("tid = :tid,");
            sqlBuilder.Append("situacao_envio = :situacao_envio,");
            sqlBuilder.Append("chave_protocolo = :chave_protocolo,");

            if (tipo.Equals("gerar-car"))
            {
                sqlBuilder.Append("data_gerado = CURRENT_TIMESTAMP,");
            }
            //if (situacaoEnvio == SITUACAO_ENVIO_ARQUIVO_ENTREGUE)
            else
            {
                sqlBuilder.Append("data_envio = CURRENT_TIMESTAMP,");
            }
            if (arquivoCar != "")
            {
                sqlBuilder.Append("arquivo = '" + arquivoCar + "',");
            }

            sqlBuilder.Append("pendencias = :pendencias,");
            if (!String.IsNullOrWhiteSpace(resultado.codigoImovel))
            {
                sqlBuilder.Append("codigo_imovel = :codigo_imovel,");
            }
            if (!String.IsNullOrWhiteSpace(resultado.urlReciboInscricao))
            {
                sqlBuilder.Append("url_recibo = :url_recibo,");
            }
            sqlBuilder.Append("status_sicar = :status_sicar,");
            sqlBuilder.Append("condicao = :condicao,");
            if (!String.IsNullOrWhiteSpace(codigoProtocolo))
            {
                sqlBuilder.Append("chave_protocolo_enviado = :chave_protocolo_enviado,");
            }

            sqlBuilder.Append("CODIGO_RESPOSTA = :codigo_resposta, ");
            sqlBuilder.Append("CODIGO_IMOVEL_MASC = :codigo_imovel_masc, ");
            sqlBuilder.Append("MENSAGEM_RESPOSTA = :mensagem_resposta ");
            sqlBuilder.Append(" WHERE id = :id");

            try
            {
                using (var cmd = new OracleCommand(sqlBuilder.ToString(), conn))
                {
                    cmd.Parameters.Add(new OracleParameter("tid", tid));
                    cmd.Parameters.Add(new OracleParameter("situacao_envio", situacaoEnvio));
                    cmd.Parameters.Add(new OracleParameter("chave_protocolo", resultado.protocoloImovel));
                    if (catchEnviar)
                    {
                        string pendencia = "Falha na integração, comunique o administrador do sistema";
                        cmd.Parameters.Add(new OracleParameter("pendencias", pendencia));
                    }
                    else
                    {
                        cmd.Parameters.Add(new OracleParameter("pendencias", mensagensDeResposta));
                    }

                    if (!String.IsNullOrWhiteSpace(resultado.codigoImovel))
                    {
                        cmd.Parameters.Add(new OracleParameter("codigo_imovel", resultado.codigoImovel));
                    }
                    if (!String.IsNullOrWhiteSpace(resultado.urlReciboInscricao))
                    {
                        cmd.Parameters.Add(new OracleParameter("url_recibo", resultado.urlReciboInscricao));
                    }
                    cmd.Parameters.Add(new OracleParameter("status_sicar", "IN"));
                    cmd.Parameters.Add(new OracleParameter("condicao", condicao));
                    if (!String.IsNullOrWhiteSpace(codigoProtocolo))
                    {
                        cmd.Parameters.Add(new OracleParameter("chave_protocolo_enviado", codigoProtocolo));
                    }

                    cmd.Parameters.Add(new OracleParameter("codigo_resposta", resultado.codigoResposta));
                    cmd.Parameters.Add(new OracleParameter("codigo_imovel_masc", resultado.codigoImovelComMascara));

                    cmd.Parameters.Add(new OracleParameter("mensagem_resposta", mensagensDeResposta));
                    cmd.Parameters.Add(new OracleParameter("id", item?.id));

                    cmd.ExecuteNonQuery();
                }
                //Inserir no Histórico
                InserirHistoricoControleCar(conn, requisicao, tid, resultado);

                //if (!String.IsNullOrWhiteSpace(mensagemErro) && item != null)
                //	VerificarListaCodigoImovel(conn, schema, mensagemErro, item.solicitacao_car, item.empreendimento, requisicao.origem, requisicao, tid);
            }
            catch (Exception exception)
            {
                Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception);
            }

            if (item == null)
            {
                return(0);
            }

            return(item.id);
        }
Esempio n. 5
0
        private static void AtualizaInformacoesCAR(OracleConnection conn, string codigo, int solicitacaoNumero, string origem, RequisicaoJobCar requisicao, string tid)
        {
            var retorno = new MensagemRetorno();

            retorno.mensagensResposta      = new List <string>();
            retorno.codigoImovelComMascara = codigo;
            retorno.codigoResposta         = 200;
            var resultado = "Imóvel inserido com sucesso no banco de dados do Sicar - Sistema Nacional de Cadastro Ambiental Rural;";

            retorno.mensagensResposta.Add(resultado);
            var schema = (origem == RequisicaoJobCar.INSTITUCIONAL) ? "IDAF" : "IDAFCREDENCIADO";

            try
            {
                // ATUALIZA TAB_CONTROLE_SICAR
                using (var cmd = new OracleCommand(@"UPDATE TAB_CONTROLE_SICAR SET CODIGO_IMOVEL = :codigo_imovel, 
													SITUACAO_ENVIO = 6, CODIGO_RESPOSTA = 200, PENDENCIAS = NULL, MENSAGEM_RESPOSTA = :mensagem 
	                                                WHERE SOLICITACAO_CAR = :solicitacao_car"                                                    , conn))
                {
                    cmd.Parameters.Add(new OracleParameter("codigo_imovel", codigo));
                    cmd.Parameters.Add(new OracleParameter("mensagem", resultado));
                    cmd.Parameters.Add(new OracleParameter("solicitacao_car", solicitacaoNumero));

                    cmd.ExecuteNonQuery();
                }

                // ATUALIZA TAB_CAR_SOLICITACAO
                using (var cmd = new OracleCommand("UPDATE " + schema + @".TAB_CAR_SOLICITACAO SET SITUACAO_ANTERIOR = SITUACAO,
													SITUACAO_ANTERIOR_DATA = SITUACAO_DATA, SITUACAO = 2, SITUACAO_DATA = SYSDATE
													WHERE ID = :solicitacao_car"                                                    , conn))
                {
                    cmd.Parameters.Add(new OracleParameter("solicitacao_car", solicitacaoNumero));

                    cmd.ExecuteNonQuery();
                }

                // ATUALIZA O IDAF_CONSULTA
                var strQuery = String.Empty;
                if (origem == RequisicaoJobCar.INSTITUCIONAL)
                {
                    strQuery = "begin LST_CONSULTA.carSolicitacaoTitulo(:id); end;";
                }
                else
                {
                    strQuery = "begin LST_CONSULTA_CRED.carSolicitacao(:id); end;";
                }

                using (var cmd = new OracleCommand(strQuery, conn))
                {
                    cmd.Parameters.Add(new OracleParameter("id", solicitacaoNumero));

                    cmd.ExecuteNonQuery();
                }

                // ATUALIZA O HISTORICO
                InserirHistoricoSolicitacaoCar(conn, origem, solicitacaoNumero);
                InserirHistoricoControleCar(conn, requisicao, tid, retorno);
            }
            catch (Exception exception)
            {
                Log.Error("Erro ao conectar ao Banco de dados - UPDATES:" + exception.Message, exception);
            }
        }
Esempio n. 6
0
        private static void InserirHistoricoControleCar(OracleConnection conn, RequisicaoJobCar requisicao, string tid, MensagemRetorno resultado)
        {
            var schema = CarUtils.GetEsquemaInstitucional();

            var item = ObterItemControleCar(conn, requisicao);

            var sqlBuilder = new StringBuilder();

            sqlBuilder.Append("INSERT INTO " + schema + ".HST_CONTROLE_SICAR ");
            sqlBuilder.Append("(id,tid,empreendimento,empreendimento_tid,solicitacao_car,solicitacao_car_tid,situacao_envio,");
            sqlBuilder.Append("chave_protocolo,data_gerado,data_envio,arquivo,pendencias,codigo_imovel,");
            sqlBuilder.Append("url_recibo,status_sicar,condicao,solicitacao_car_esquema,data_execucao,");
            sqlBuilder.Append("CODIGO_RESPOSTA, CODIGO_IMOVEL_MASC, MENSAGEM_RESPOSTA)");
            sqlBuilder.Append(" values ");
            sqlBuilder.Append("(" + schema + ".SEQ_HST_CONTROLE_SICAR.nextval,:tid,:empreendimento,:empreendimento_tid,");
            sqlBuilder.Append(":solicitacao_car,:solicitacao_car_tid,:situacao_envio,:chave_protocolo,");
            sqlBuilder.Append(":data_gerado,:data_envio,:arquivo,:pendencias,:codigo_imovel,");
            sqlBuilder.Append(":url_recibo,:status_sicar,:condicao,:solicitacao_car_esquema,CURRENT_TIMESTAMP, :CODIGO_RESPOSTA, :CODIGO_IMOVEL_MASC, :MENSAGEM_RESPOSTA)");

            var mensagensDeResposta = String.Empty;

            if (resultado.mensagensResposta == null)
            {
                mensagensDeResposta = "Erro de conexão com o SICAR, será feita uma nova tentativa ; ";
                //situacaoEnvio = SITUACAO_ENVIO_ARQUIVO_REPROVADO;
            }
            else
            {
                foreach (var men in resultado.mensagensResposta)
                {
                    mensagensDeResposta = String.Concat(mensagensDeResposta, men);
                    mensagensDeResposta = String.Concat(mensagensDeResposta, "  ;  ");
                }
            }
            try
            {
                if (item == null)
                {
                    throw new Exception("ITEM NULO !!!");
                }

                using (var cmd = new OracleCommand(sqlBuilder.ToString(), conn))
                {
                    cmd.Parameters.Add(new OracleParameter("tid", tid));
                    cmd.Parameters.Add(new OracleParameter("empreendimento", item.empreendimento));
                    cmd.Parameters.Add(new OracleParameter("empreendimento_tid", item.empreendimento_tid));
                    cmd.Parameters.Add(new OracleParameter("solicitacao_car", item.solicitacao_car));
                    cmd.Parameters.Add(new OracleParameter("solicitacao_car_tid", tid));                    //item.solicitacao_car_tid));
                    cmd.Parameters.Add(new OracleParameter("situacao_envio", item.situacao_envio));
                    cmd.Parameters.Add(new OracleParameter("chave_protocolo", item.chave_protocolo));
                    cmd.Parameters.Add(new OracleParameter("data_gerado", item.data_gerado));
                    cmd.Parameters.Add(new OracleParameter("data_envio", item.data_envio));
                    cmd.Parameters.Add(new OracleParameter("arquivo", item.arquivo));
                    cmd.Parameters.Add(new OracleParameter("pendencias", item.pendencias));
                    cmd.Parameters.Add(new OracleParameter("codigo_imovel", item.codigo_imovel));
                    cmd.Parameters.Add(new OracleParameter("url_recibo", item.url_recibo));
                    cmd.Parameters.Add(new OracleParameter("status_sicar", item.status_sicar));
                    cmd.Parameters.Add(new OracleParameter("condicao", item.condicao));
                    cmd.Parameters.Add(new OracleParameter("solicitacao_car_esquema", item.solicitacao_car_esquema));

                    cmd.Parameters.Add(new OracleParameter("codigo_resposta", resultado.codigoResposta));
                    cmd.Parameters.Add(new OracleParameter("codigo_imovel_masc", resultado.codigoImovelComMascara));
                    cmd.Parameters.Add(new OracleParameter("mensagem_resposta", mensagensDeResposta));
                    //cmd.Parameters.Add(new OracleParameter("mensagem_resposta", resultado.mensagensResposta));

                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception exception)
            {
                Log.Error("Requisicao: " + (requisicao != null ? JsonConvert.SerializeObject(requisicao) : " IS NULL"), exception);
            }
        }
Esempio n. 7
0
        public static int AtualizarControleSICarRetificacao(OracleConnection conn, MensagemRetorno resultado, ItemControleCar item, int situacaoEnvio, int solicitacaoRetificadora, string tid, string arquivoCar = "", string tipo = "")
        {
            var schema = CarUtils.GetEsquemaInstitucional();

            var pendencias          = " Solicitação retificada pela solicitação : " + solicitacaoRetificadora;
            var condicao            = "Aguardando Análise";
            var mensagensDeResposta = pendencias;


            var sqlBuilder = new StringBuilder();

            sqlBuilder.Append("UPDATE " + schema + ".TAB_CONTROLE_SICAR SET ");
            //sqlBuilder.Append("tid = :tid,");
            sqlBuilder.Append("situacao_envio = :situacao_envio,");
            sqlBuilder.Append("chave_protocolo = :chave_protocolo,");

            if (tipo.Equals("gerar-car"))
            {
                sqlBuilder.Append("data_gerado = CURRENT_TIMESTAMP,");
            }
            //if (situacaoEnvio == SITUACAO_ENVIO_ARQUIVO_ENTREGUE)
            else
            {
                sqlBuilder.Append("data_envio = CURRENT_TIMESTAMP,");
            }
            if (arquivoCar != "")
            {
                sqlBuilder.Append("arquivo = '" + arquivoCar + "',");
            }

            sqlBuilder.Append("pendencias = :pendencias,");
            if (!String.IsNullOrWhiteSpace(resultado.codigoImovel))
            {
                sqlBuilder.Append("codigo_imovel = :codigo_imovel,");
            }
            if (!String.IsNullOrWhiteSpace(resultado.urlReciboInscricao))
            {
                sqlBuilder.Append("url_recibo = :url_recibo,");
            }
            sqlBuilder.Append("status_sicar = :status_sicar,");
            sqlBuilder.Append("condicao = :condicao,");

            sqlBuilder.Append("CODIGO_RESPOSTA = :codigo_resposta, ");
            sqlBuilder.Append("CODIGO_IMOVEL_MASC = :codigo_imovel_masc, ");
            sqlBuilder.Append("MENSAGEM_RESPOSTA = :mensagem_resposta ");
            sqlBuilder.Append(" WHERE solicitacao_car = :id");

            try
            {
                using (var cmd = new OracleCommand(sqlBuilder.ToString(), conn))
                {
                    //cmd.Parameters.Add(new OracleParameter("tid", item.solicitacao_car_anterior_tid));
                    cmd.Parameters.Add(new OracleParameter("situacao_envio", SITUACAO_ENVIO_ARQUIVO_RETIFICADO));
                    cmd.Parameters.Add(new OracleParameter("chave_protocolo", resultado.protocoloImovel));
                    cmd.Parameters.Add(new OracleParameter("pendencias", pendencias));
                    if (!String.IsNullOrWhiteSpace(resultado.codigoImovel))
                    {
                        cmd.Parameters.Add(new OracleParameter("codigo_imovel", resultado.codigoImovel));
                    }
                    if (!String.IsNullOrWhiteSpace(resultado.urlReciboInscricao))
                    {
                        cmd.Parameters.Add(new OracleParameter("url_recibo", resultado.urlReciboInscricao));
                    }
                    cmd.Parameters.Add(new OracleParameter("status_sicar", "IN"));
                    cmd.Parameters.Add(new OracleParameter("condicao", condicao));

                    cmd.Parameters.Add(new OracleParameter("codigo_resposta", resultado.codigoResposta));
                    cmd.Parameters.Add(new OracleParameter("codigo_imovel_masc", resultado.codigoImovelComMascara));

                    cmd.Parameters.Add(new OracleParameter("mensagem_resposta", mensagensDeResposta));
                    //cmd.Parameters.Add(new OracleParameter("mensagem_resposta", resultado.mensagensResposta));
                    cmd.Parameters.Add(new OracleParameter("solicitacao_car", item.solicitacao_car_anterior));

                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception exception)
            {
                Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception);
            }

            RequisicaoJobCar requisicao = new RequisicaoJobCar();

            requisicao.empreendimento      = item.empreendimento;
            requisicao.empreendimento_tid  = item.empreendimento_tid;
            requisicao.solicitacao_car     = item.solicitacao_car_anterior;
            requisicao.solicitacao_car_tid = item.solicitacao_car_anterior_tid;

            //Inserir no Histórico
            InserirHistoricoControleCar(conn, requisicao, tid, resultado);
            if (item == null)
            {
                return(0);
            }
            return(item.id);
        }
Esempio n. 8
0
        public static int AtualizarControleSICAR(OracleConnection conn, MensagemRetorno resultado, RequisicaoJobCar requisicao, int situacaoEnvio, string tid, string arquivoCar = "")
        {
            var schema = CarUtils.GetEsquemaInstitucional();

            var item = ObterItemControleCar(conn, requisicao);

            var pendencias = "";
            var condicao   = "Aguardando Análise";

            if (resultado == null)
            {
                resultado = new MensagemRetorno {
                    mensagensResposta = new List <string>()
                };
            }
            else
            {
                if (resultado.codigoResposta != MensagemRetorno.CodigoRespostaSucesso)
                {
                    if (resultado.mensagensResposta.Count > 0)
                    {
                        pendencias    = resultado.mensagensResposta.Aggregate("", (current, resposta) => current + (resposta + ";"));
                        situacaoEnvio = SITUACAO_ENVIO_ARQUIVO_REPROVADO;
                    }
                    else
                    {
                        situacaoEnvio = SITUACAO_ENVIO_ARQUIVO_ENTREGUE;
                    }
                    //pendencias = pendencias.Replace("O arquivo especificado contém informações inválidas.;", "");
                }
            }

            var sqlBuilder = new StringBuilder();

            sqlBuilder.Append("UPDATE " + schema + ".TAB_CONTROLE_SICAR SET ");
            sqlBuilder.Append("tid = :tid,");
            sqlBuilder.Append("situacao_envio = :situacao_envio,");
            sqlBuilder.Append("chave_protocolo = :chave_protocolo,");

            if (situacaoEnvio == SITUACAO_ENVIO_ARQUIVO_ENTREGUE)
            {
                sqlBuilder.Append("data_envio = CURRENT_TIMESTAMP,");
            }
            if (arquivoCar != "")
            {
                sqlBuilder.Append("arquivo = '" + arquivoCar + "',");
            }

            sqlBuilder.Append("pendencias = :pendencias,");
            sqlBuilder.Append("codigo_imovel = :codigo_imovel,");
            sqlBuilder.Append("url_recibo = :url_recibo,");
            sqlBuilder.Append("status_sicar = :status_sicar,");
            sqlBuilder.Append("condicao = :condicao");
            sqlBuilder.Append(" WHERE id = :id");

            try
            {
                using (var cmd = new OracleCommand(sqlBuilder.ToString(), conn))
                {
                    cmd.Parameters.Add(new OracleParameter("tid", tid));
                    cmd.Parameters.Add(new OracleParameter("situacao_envio", situacaoEnvio));
                    cmd.Parameters.Add(new OracleParameter("chave_protocolo", resultado.protocoloImovel));
                    cmd.Parameters.Add(new OracleParameter("pendencias", pendencias));
                    cmd.Parameters.Add(new OracleParameter("codigo_imovel", resultado.codigoImovel));
                    cmd.Parameters.Add(new OracleParameter("url_recibo", resultado.urlReciboInscricao));
                    cmd.Parameters.Add(new OracleParameter("status_sicar", "IN"));
                    cmd.Parameters.Add(new OracleParameter("condicao", condicao));
                    cmd.Parameters.Add(new OracleParameter("id", item.id));

                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception exception)
            {
                Log.Error("Erro ao conectar ao Banco de dados:" + exception.Message, exception);
            }

            //Inserir no Histórico
            InserirHistoricoControleCar(conn, requisicao, tid);

            return(item.id);
        }
        private void AtualizarRegistros(OracleConnection conn, string tid, ItemFila itemFila, MensagemRetorno resultadoEnvio)
        {
            string           resultado  = string.Empty;
            RequisicaoJobCar requisicao = null;

            try
            {
                //LocalDB.MarcarItemFilaIniciado(conn, itemFila.Id);

                resultado = JsonConvert.SerializeObject(resultadoEnvio);
                var item = LocalDB.PegarItemFilaPorId(conn, itemFila.Requisitante);
                requisicao = JsonConvert.DeserializeObject <RequisicaoJobCar>(item.Requisicao);

                var pathArquivoTemporario = new ArquivoManager().BuscarDiretorioArquivoTemporario(conn);

                if (!pathArquivoTemporario.EndsWith("\\"))
                {
                    pathArquivoTemporario += "\\";
                }
                pathArquivoTemporario += "SICAR\\";

                //Salvar no diretorio de arquivos do SIMLAM Institucional
                string arquivoFinal;
                using (var stream = File.Open(pathArquivoTemporario + itemFila.Requisicao + ".car", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    var arquivoManager = new ArquivoManager();
                    arquivoFinal = arquivoManager.Salvar(itemFila.Requisicao, stream, conn);
                }



                var situacaoSolicitacao = (resultadoEnvio.codigoResposta == MensagemRetorno.CodigoRespostaSucesso) ? ControleCarDB.SITUACAO_SOLICITACAO_VALIDO : ControleCarDB.SITUACAO_SOLICITACAO_PENDENTE;
                ControleCarDB.AtualizarSolicitacaoCar(conn, requisicao, situacaoSolicitacao, tid);

                //Atualizar controle de envio do SICAR
                ControleCarDB.AtualizarControleSICAR(conn, resultadoEnvio, requisicao, ControleCarDB.SITUACAO_ENVIO_ARQUIVO_ENTREGUE, tid, arquivoFinal);

                //Marcar como processado
                LocalDB.MarcarItemFilaTerminado(conn, itemFila.Id, true, resultado);
            }
            catch (Exception ex)
            {
                //Marcar como processado registrando a mensagem de erro
                var msg = ex.Message +
                          Environment.NewLine +
                          Environment.NewLine +
                          resultado;

                LocalDB.MarcarItemFilaTerminado(conn, itemFila.Id, false, msg);
                ControleCarDB.AtualizarSolicitacaoCar(conn, requisicao.origem, requisicao.solicitacao_car, ControleCarDB.SITUACAO_SOLICITACAO_PENDENTE, tid);
                ControleCarDB.AtualizarControleSICAR(conn, null, requisicao, ControleCarDB.SITUACAO_ENVIO_ARQUIVO_REPROVADO, tid);
            }
        }