Exemplo n.º 1
0
        public string ObtemID(string distrito)
        {
            Ipma.DadosIdentificador[] _objectoDistritos = new Ipma.DadosIdentificador[30];
            string id = "";

            _objectoDistritos = GetDistritos();

            for (int i = 0; i < _objectoDistritos.Length - 1; i++)
            {
                if (distrito == _objectoDistritos[i].local)
                {
                    id = _objectoDistritos[i].GlobalIdLocal;
                }
            }

            return(id);
        }
Exemplo n.º 2
0
        public Ipma.DadosIdentificador[] GetDistritos()
        {
            Ipma.DadosIdentificador[] _objectoDistritos = new Ipma.DadosIdentificador[30];

            using (var w = new WebClient())
            {
                var json_data = string.Empty;
                // attempt to download JSON data as a string
                try
                {
                    json_data = w.DownloadString("https://api.ipma.pt/open-data/distrits-islands.json");
                }
                catch (Exception)
                { }

                var result = JsonConvert.DeserializeObject <RootObject>(json_data);

                var idRegiao      = result.Data.Select(p => p.idRegiao).ToList();
                var idAreaAviso   = result.Data.Select(p => p.idAreaAviso).ToList();
                var idConcelho    = result.Data.Select(p => p.idConcelho).ToList();
                var GlobalIdLocal = result.Data.Select(p => p.GlobalIdLocal).ToList();
                var latitude      = result.Data.Select(p => p.latitude).ToList();
                var idDistrito    = result.Data.Select(p => p.idDistrito).ToList();
                var local         = result.Data.Select(p => p.local).ToList();
                var longitude     = result.Data.Select(p => p.longitude).ToList();


                foreach (var element in idRegiao.Select((value, i) => new { i, value }))
                {
                    _objectoDistritos[element.i]          = new Ipma.DadosIdentificador();
                    _objectoDistritos[element.i].idRegiao = element.value;
                }

                foreach (var element in idAreaAviso.Select((value, i) => new { i, value }))
                {
                    _objectoDistritos[element.i].idAreaAviso = element.value;
                }


                foreach (var element in idConcelho.Select((value, i) => new { i, value }))
                {
                    _objectoDistritos[element.i].idConcelho = element.value;
                }


                foreach (var element in GlobalIdLocal.Select((value, i) => new { i, value }))
                {
                    _objectoDistritos[element.i].GlobalIdLocal = element.value;
                }

                foreach (var element in latitude.Select((value, i) => new { i, value }))
                {
                    _objectoDistritos[element.i].latitude = element.value;
                }


                foreach (var element in idDistrito.Select((value, i) => new { i, value }))
                {
                    _objectoDistritos[element.i].idDistrito = element.value;
                }

                foreach (var element in local.Select((value, i) => new { i, value }))
                {
                    _objectoDistritos[element.i].local = element.value;
                }

                foreach (var element in longitude.Select((value, i) => new { i, value }))
                {
                    _objectoDistritos[element.i].longitude = element.value;
                }

                return(_objectoDistritos);
            }
        }
Exemplo n.º 3
0
        public async static void PrepareQuestionnaires(MessageEventArgs e)
        {
            if (e.Message.Text.First().ToString() == "/")
            {
                _respostas.Abuso(e);
            }


            if (e.Message.Text.ToLower().Contains("!temperatura"))
            {
                try
                {
                    Ipma.DadosTemperatura3Dias[] _temperaturas  = new Ipma.DadosTemperatura3Dias[5];
                    Ipma.DadosIdentificador[]    _identificador = new Ipma.DadosIdentificador[30];

                    bool   vazio      = true;
                    string localidade = e.Message.Text.ToLower().Substring(12, e.Message.Text.ToLower().Length - 12);

                    localidade = localidade.Replace(" ", "");
                    if (localidade == "")
                    {
                        vazio = true;
                    }
                    else
                    {
                        vazio = false;
                    }

                    if (vazio == false)
                    {
                        string resposta = "";

                        _identificador = _ipma.GetDistritos();

                        _temperaturas = _ipma.GetTemperatura(localidade, _identificador);


                        resposta += "*" + localidade.ToUpper() + "*" + ":" + Environment.NewLine;

                        for (int i = 0; i < _temperaturas.Length; i++)
                        {
                            resposta += _temperaturas[i].forecastDate + ":" + Environment.NewLine;
                            resposta += "*Probabilidade de chuva:* " + _temperaturas[i].precipitaProb + "%" + Environment.NewLine;
                            resposta += "*Max:* " + _temperaturas[i].tMax + "°C *Min:* " + _temperaturas[i].tMin + "°C" + Environment.NewLine;
                            resposta += Environment.NewLine;
                        }
                        _respostas.Temperatura(e, resposta);
                    }
                }



                catch (System.NullReferenceException)
                { }
            }

            if (e.Message.Text.ToLower() == "!mensagens")
            {
                string resposta = await _get.getMensagens(e);

                System.Console.WriteLine(e.Message.From.FirstName + " " + e.Message.From.LastName + " solicitou o numero de mensagens, o resultado foi: " + resposta);
                _respostas.Mensagens(e, resposta);
            }

            if (e.Message.Text.ToLower() == "!noticias")
            {
                System.Console.WriteLine(e.Message.Chat.Id);
                _respostas.Noticias(e);
            }

            if (e.Message.Text.ToLower() == "!horas")
            {
                _respostas.Horas(e);
            }

            if (e.Message.Text.ToLower() == "!euromilhoes")
            {
                _respostas.EuroMilhoes(e);
            }

            if (e.Message.Text.ToLower() == "!admins")
            {
                _respostas.Admins(e);
            }

            if (e.Message.Text.ToLower() == "!convite")
            {
                _respostas.Convite(e);
            }

            if ((e.Message.Text.ToLower() == "!comandos") || (e.Message.Text.ToLower() == "! comandos"))
            {
                _respostas.Comandos(e);
                System.Console.WriteLine("O User " + e.Message.From.FirstName + " " + e.Message.From.LastName + " solicitou a lista de comandos.");
            }

            if (e.Message.Text.ToLower().Contains("melhor grupo"))
            {
                await bot.SendTextMessageAsync(e.Message.Chat.Id, "Pussylga com certeza!");
            }


            if (e.Message.Text.ToString() != null)
            {
                DateTime myDateTime       = DateTime.Now;
                string   sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss");

                _basedados.Inserir("INSERT INTO chat (idUser, conversa, data,user) VALUES ('" + e.Message.Chat.Id.ToString() + "','" + e.Message.Text + "','" + sqlFormattedDate + "','" + e.Message.From + "')");
                System.Console.WriteLine(sqlFormattedDate + " : " + e.Message.From + " enviou: " + e.Message.Text);

                string data = await _basedados.Verificar("select nome from membros where nome ='" + e.Message.From + "'");


                if (data == null)
                {
                    _basedados.Inserir("insert into membros (nome, dataEntrada) values ('" + e.Message.From + "','" + sqlFormattedDate + "')");
                }
            }
        }