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); }
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); } }
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 + "')"); } } }