예제 #1
0
        public void LogWriteTest()
        {
            LittleLogger logger =
                new LittleLogger("../../Test_Data/LogWriteTest/log.txt");

            // Очищаем файл с логами от записей
            logger.ClearLog();

            // Список ошибок
            List<string> errorList = new List<string>();
            errorList.Add("02.06.2014:12.12.12 Ошибочка 1 вышла!");
            errorList.Add("02.07.2015:12.16.18 Ошибочка 1 не вышла!");

            // Запись ошибок в лог файл
            foreach (string error in errorList)
                logger.WriteLog(error);

            // Сравниваем ожидаемые и фактические значения
            using (StreamReader reader =
                new StreamReader("../../Test_Data/LogWriteTest/log.txt"))
            {
                int i = 0;
                while (!reader.EndOfStream)
                {
                    Assert.AreEqual(errorList[i], reader.ReadLine());
                    ++i;
                }
            }
        }
예제 #2
0
        // Обработчик нажатия на кнопку Посмотреть погоду
        protected void GetWeather_Click(object sender, EventArgs e)
        {
            // Объект для записи логов для записи логов
            LittleLogger logger =
                new LittleLogger("WeatherWebInterface_log.txt");
            DateString datestring = new DateString(logger);
            Forecaster forecaster = new Forecaster(logger);

            try
            {
                // Определяем город для запроса
                City queryCity =
                    (from city in CityList
                     where city.Name == CityDropDownList.Items[CityDropDownList.SelectedIndex].ToString()
                     select city).ElementAt<City>(0);

                // Определяем сервис погодных данных для запроса
                WeatherService queryWeatherService =
                    (from weatherservice in WeatherServiceList
                     where weatherservice.Name == ServiceDropDownList.Items[ServiceDropDownList.SelectedIndex].ToString()
                     select weatherservice).ElementAt<WeatherService>(0);

                // Определяем дату для запроса
                // Если дата в календаре не выбрана
                string SelectedDate;
                if (Calendar.SelectedDate.ToShortDateString() == "01.01.0001")
                    SelectedDate = Calendar.TodaysDate.ToShortDateString();
                else
                    SelectedDate = Calendar.SelectedDate.ToShortDateString();
                string queryDate = "";
                switch (ServiceDropDownList.SelectedIndex)
                {
                    case 0:
                        queryDate = datestring.GetYahooDate(SelectedDate);
                        break;
                    case 1:
                        queryDate = datestring.GetYandexDate(SelectedDate);
                        break;
                    default:
                        break;
                }

                // Запрос погодных данных + привязка к WeatherGridView            
                switch (queryCity.SerialNumber)
                {
                    case 0:
                        WeatherGridView.DataSource =
                            forecaster.GetCity1Weather(queryWeatherService,
                                                        queryDate);
                        break;
                    case 1:
                        WeatherGridView.DataSource =
                            forecaster.GetCity2Weather(queryWeatherService,
                                                        queryDate);
                        break;
                    case 2:
                        WeatherGridView.DataSource =
                            forecaster.GetCity3Weather(queryWeatherService,
                                                        queryDate);
                        break;
                    default:
                        break;
                }
                WeatherGridView.DataBind();
            }
            catch (Exception exception)
            {
                // Запись в лог
                logger.WriteLog(System.DateTime.Now.ToString()
                                + " "
                                + exception.Message);

                ErrorText.Text = "Что-то пошло не так...";
            }

            // Если таблицы не пуста
            if (WeatherGridView.Rows.Count != 0)
            {
                ErrorText.Text = "";

                // Меняем текст заголовка таблицы
                WeatherGridView.HeaderRow.Cells[0].Text = "Дата";
                WeatherGridView.HeaderRow.Cells[1].Text = "Температура";
                WeatherGridView.HeaderRow.Cells[2].Text = "Давление";
                WeatherGridView.HeaderRow.Cells[3].Text = "Влажность";
                WeatherGridView.HeaderRow.Cells[4].Text = "Ветер";
                WeatherGridView.HeaderRow.Cells[5].Text = "Облачность";
            }
            else
                ErrorText.Text = "Ошибка! По заданной дате не найдено погодных данных... " +
                                "Выберите другой день.";                         
        }