Exemple #1
0
        public static void MonitoraTwitter(Parametros objParametros, string wrkPath, Saidas wrkSaidas, FEZ_Components.LED ledPrincipal)
        {
            while (true)
            {
                //Defini o tempo de intervalo entre cada execução
                var timeout = DateTime.Now.AddSeconds(objParametros.Intervalo);

                try
                {
                    //Busca lista de mensagens
                    var mensagens = Mensagem.BuscaMensagensDiretas(objParametros.UltimaMsgId,
                                                                   objParametros.Token, objParametros.TokenSecret);

                    //Instancia comando
                    var wrkComando = new Comando(wrkPath);
                    if (wrkComando.PercorreMensagens(mensagens, wrkSaidas, objParametros.Token,
                                                     objParametros.TokenSecret, objParametros.ClasseIp) == "close")
                    {
                        //Finalizar aplicação
                        objParametros.UltimaMsgId = Parametros.ObtemUltimaMsgId(wrkPath);
                        break;
                    }

                    objParametros.UltimaMsgId = Parametros.ObtemUltimaMsgId(wrkPath);
                }
                catch (Exception ex)
                {
                    ledPrincipal.StartBlinking(500, 500);

                    //Grava log:
                    Funcoes.EscreverLog(wrkPath, "Erro de exceção ocorrido: " + ex, 1, false);
                }

                //Espera o tempo de leitura entre cada mensagem
                while (DateTime.Now < timeout)
                {
                    System.Threading.Thread.Sleep(500); //0,5 segundo
                }
            }
        }