// Метод для получения данных. Параметры: форма, кол-во дней public void GetRangeWeather(WeatherForm form, int days) { // Создние табличных данных и задание столбцов DataTable dataTable = new DataTable(); dataTable.Columns.Add("Дата"); dataTable.Columns.Add("Погода"); dataTable.Columns.Add("Давление (мм рт. ст.)"); dataTable.Columns.Add("Влажность (%)"); dataTable.Columns.Add("Температура днем (°C)"); dataTable.Columns.Add("Температура ночью (°C)"); // Получение данных о погоде за заданное кол-во дней WeatherData weatherResponse = WeatherResponse.getData(days); // Создание массива, который будет содержать все числа с выбранного диапазона дней string[] dates = new string[days]; DateTime today = DateTime.Now; // Первый день заполняется автоматически. Берется сегодняшнее число string todayString = String.Format("{0:dd.MM.yyyy}", today); dates[0] = todayString; // Выбранное количество дней вперед for (int i = 1; i < days; i++) { // Прибавляем каждый раз на 1 день больше и полученное число помещаем в массив DateTime next = today.AddDays(i); string nextString = String.Format("{0:dd.MM.yyyy}", next); dates[i] = nextString; } // Заполнения таблицы строками, содержащими данные из запроса for (int i = 0; i < days; i++) { DataRow dataRow = dataTable.NewRow(); dataRow["Дата"] = dates[i]; dataRow["Погода"] = weatherResponse.List[i].Weather[0].Description; dataRow["Давление (мм рт. ст.)"] = weatherResponse.List[i].Pressure; dataRow["Влажность (%)"] = weatherResponse.List[i].Humidity; dataRow["Температура днем (°C)"] = weatherResponse.List[i].Temp.Day.ToString(); dataRow["Температура ночью (°C)"] = weatherResponse.List[i].Temp.Night.ToString(); dataTable.Rows.Add(dataRow); } // Заполнение элемента формы табличными данными form.TableRange = dataTable; }
// Метод для получения данных public void GetWeather(WeatherForm form) { // Массив, критериев для оценки погоды string[,] properties = new string[6, 2]; // Заполнение массива properties[0, 0] = "Погода: "; properties[1, 0] = "Давление: "; properties[2, 0] = "Влажность: "; properties[3, 0] = "Температура днем: "; properties[4, 0] = "Температура ночью: "; // Создание табличных данных и двух столбцов DataTable dataTable = new DataTable(); dataTable.Columns.Add("Свойство"); dataTable.Columns.Add("Значение"); // Получение данных о погоде за сегодня int days = 1; WeatherData weatherResponse = WeatherResponse.getData(days); // Заполнение значений из полученного запроса for (int i = 0; i < days; i++) { properties[0, 1] = weatherResponse.List[i].Weather[0].Description; properties[1, 1] = weatherResponse.List[i].Pressure + " мм рт. ст."; properties[2, 1] = weatherResponse.List[i].Humidity + "%"; properties[3, 1] = weatherResponse.List[i].Temp.Day.ToString() + " °C"; properties[4, 1] = weatherResponse.List[i].Temp.Night.ToString() + " °C"; } // Заполнение столбцов таблицы for (int i = 0; i < 5; i++) { DataRow dataRow = dataTable.NewRow(); dataRow["Свойство"] = properties[i, 0]; dataRow["Значение"] = properties[i, 1]; dataTable.Rows.Add(dataRow); } // Отправка табличных данных элементу формы form.TableToday = dataTable; }