//кнопка поиска города private void metroButton3_Click(object sender, EventArgs e) { CheckToFile.CheckFile(); //проверка существования файла с городами //проверка на заполение поля if ((countryTextBox.Text != String.Empty) && (countryTextBox.Text.Length > 2)) { //очистка всех полей mainLabel.Text = "main"; descriptionLabel.Text = "description"; pressureLabel.Text = "pressure"; humidityLabel.Text = "humidity"; speedLabel.Text = "speed"; degLabel.Text = "deg"; countryLabel.Text = "country"; tempLabel.Text = "temp"; feels_likeLabel.Text = "feels_like"; datetimeLabel.Text = "datetime"; //поиск по бд всех городов с таким ключевым словом string keyWord = countryTextBox.Text; var lines = File.ReadLines(Application.StartupPath + "/city.txt"); string result = string.Join("\n", lines.Where(s => s.IndexOf(keyWord, StringComparison.InvariantCultureIgnoreCase) >= 0)); if (result.Length == 0) { MessageBox.Show($"Ничего не найдено по данному ключевому слову: {keyWord}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show(result, $"Найденные ID по ключевому слову {keyWord}", MessageBoxButtons.OK, MessageBoxIcon.Information); IDInfo.Text = result; IDInfo.Visible = true; } } else { MessageBox.Show("Вы не ввели ключевое слово или оно слишком короткое", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } countryTextBox.Text = "Название города"; }
//кнопка обновить private async void metroButton2_Click(object sender, EventArgs e) { CheckToConnectWithInternet.IsConnected(); //проверка подключения к интернету CheckToFile.CheckFile(); //проверка существования файла с городами try { WebRequest request = WebRequest.Create("https://api.openweathermap.org/data/2.5/weather?id=" + idTextBox.Text + "&APPID=002ad5987fae2bde5067fd5195691cbc"); //получение данных с сайта методом Post request.Method = "POST"; request.ContentType = "application/x-www-urlencoded"; WebResponse response = await request.GetResponseAsync(); string answer = string.Empty; using (Stream s = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(s)) { answer = await reader.ReadToEndAsync(); } } response.Close(); OpenWeather.OpenWeather oW = JsonConvert.DeserializeObject <OpenWeather.OpenWeather>(answer); //отправка переменных для перевода Variable.description = oW.weather[0].description; Variable.mainWeather = oW.weather[0].main; Variable.WindDeg = oW.wind.deg; if (Variable.isYandexTranslate == true) { //перевод yandex mainLabel.Text = YandexTranslator.Translate(Variable.mainWeather); descriptionLabel.Text = YandexTranslator.Translate(Variable.description); } else { //без перевода mainLabel.Text = CustomTranslate.CustomMainWeather(Variable.mainWeather); descriptionLabel.Text = CustomTranslate.CustomDescription(Variable.description); } //заполнение информацией panel1.BackgroundImage = oW.weather[0].Icon; tempLabel.Text = "Средняя температура в данный момент (°С): " + oW.main.temp.ToString("0.##"); datetimeLabel.Text = "Время получения данных с сервера: " + DateTime.Now.ToString(); countryLabel.Text = oW.name.ToString(); speedLabel.Text = "Скорость ветра (м/с): " + oW.wind.speed.ToString(); pressureLabel.Text = "Атмосферное давление (мм.рт.ст): " + ((int)oW.main.pressure).ToString(); humidityLabel.Text = "Влажность (%): " + oW.main.humidity.ToString(); feels_likeLabel.Text = "Температура по ощущениям (°С): " + oW.main.feels_like.ToString("0.##"); degLabel.Text = CustomTranslate.CustomWindDeg(Variable.WindDeg); ExceptionHandling(); //обработка исключений } catch { MessageBox.Show("Что-то пошло не так", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); mainLabel.Text = "Ошибка"; descriptionLabel.Text = "Ошибка"; pressureLabel.Text = "Ошибка"; humidityLabel.Text = "Ошибка"; speedLabel.Text = "Ошибка"; degLabel.Text = "Ошибка"; countryLabel.Text = "Ошибка"; tempLabel.Text = "Ошибка"; feels_likeLabel.Text = "Ошибка"; } idTextBox.Text = "ID города"; IDInfo.Visible = false; }
private void Form1_Load(object sender, EventArgs e) { CheckToConnectWithInternet.IsConnected(); //проверка подключения к интернету CheckToFile.CheckFile(); //проверка существования файла с городами }