Ejemplo n.º 1
0
        public void GetWeatherTest()
        {
            // Чистим файлы с погодными данными
            List<string> weatherLogList = new List<string>();
            weatherLogList.Add("../../Test_Data/GetWeatherTest/yahoo.txt");
            weatherLogList.Add("../../Test_Data/GetWeatherTest/yandex.txt");
            foreach (string logfile in weatherLogList)
                using (StreamWriter writer =
                        new StreamWriter(logfile))
                {
                    writer.Write("");
                }

            // Список городов для сбора погодных данных
            List<City> citylist = new List<City>();
            Dictionary<string, string> idlist = new Dictionary<string, string>();
            // Челябинск
            idlist["Yahoo"] = "1997422";
            idlist["Yandex"] = "28642";
            City city1 = new City("Челябинск", idlist);
            citylist.Add(city1);
            // Москва
            idlist["Yahoo"] = "2122265";
            idlist["Yandex"] = "27612";
            City city2 = new City("Москва", idlist);
            citylist.Add(city2);
            
            // Собираем погодные данные для списка городов
            LittleLogger logger =
                new LittleLogger("../../Test_Data/GetWeatherTest/log.txt");
            WeatherService wService = new WeatherService(logger);
            WeatherReader wReader = new WeatherReader(logger);
            foreach (City city in citylist)
            {
                // Погода с Yahoo! Weather
                wService.WeatherData = wReader.getYahooWeather(city);
                using (StreamWriter writer = new StreamWriter(weatherLogList[0], true))
                {
                    writer.WriteLine(city.Name + ':');
                    foreach (var item in wService.WeatherData)
                        writer.WriteLine("{0}: {1}", item.Key, item.Value);
                    writer.WriteLine();
                }

                // Погода с Яндекс Погода
                wService.WeatherData = wReader.getYandexWeather(city);
                using (StreamWriter writer = new StreamWriter(weatherLogList[1], true))
                {
                    writer.WriteLine(city.Name + ':');
                    foreach (var item in wService.WeatherData)
                        writer.WriteLine("{0}: {1}", item.Key, item.Value);
                    writer.WriteLine();
                }
            }
        }
Ejemplo n.º 2
0
        // Конструктор (список городов для мониторинга погоды, промежуток сбора
        // погодных данных, путь до файла с логами, список строк подключения к БД)
        public WeatherBot(List<City> citylist, int timeout,
                    LittleLogger logger, List<string> cnctstrlist)
        {
            CityList = citylist;
            TimeOut = timeout;
            Logger = logger;
            CnctStrList = cnctstrlist;

            wReader = new WeatherReader(Logger);
            wWriter = new WeatherWriter(Logger);
        }