Пример #1
0
        static void Main(string[] args)
        {
            WeatherDataManager weatherData = new WeatherDataManager("YOUR-API- KEY", "London,UK");

            //Current Wetter
            Console.WriteLine("LON: {0}, LAT: {1}", weatherData.weatherCurrent.location.coord.lon, weatherData.weatherCurrent.location.coord.lat); //The coordinates of the weather
            Console.WriteLine("Current Temperture: {0} °C", weatherData.weatherCurrent.weather.temperatur);                                        //Current temperature
            Console.WriteLine("description weather: {0}", weatherData.weatherCurrent.weather.description);                                         //Description of current weather



            //weather forecasting next 5 Days in 3 hour steps
            double   maxTemperatur = -999;
            DateTime date          = new DateTime();

            foreach (WeatherAPI.Model.WeatherInNext5Days.Weather x in weatherData.weatherNext5Days.list)
            {
                if (x.temperatur > maxTemperatur)
                {
                    maxTemperatur = x.temperatur;
                    date          = x.dt;
                }
            }

            Console.WriteLine("Maximum expected temperature in the next five days {0}°C at {1}", maxTemperatur, date.ToString());



            Console.ReadLine();
        }
 public void Test_construction_with_mixed_null_parameters_throws_null_exception(IReader reader, INotify notify)
 {
     // Arrange.
     // Act.
     // Assert.
     Assert.Throws <ArgumentNullException>(() => _weatherDataManager = new WeatherDataManager(reader, notify));
 }
Пример #3
0
        public void GetWeatherData_DataIsFound_ReturnsData()
        {
            //Arrange
            var dayWeatherDatas = new List <DayWeatherData> {
                new DayWeatherData("Kaunas", DateTime.Now, new Forecastday())
            };
            var days = new List <DateTime> {
                DateTime.Today.AddDays(1)
            };
            var city = "Kaunas";

            var sensorMock = new Mock <ISensor>(MockBehavior.Strict);

            sensorMock.Setup(x => x.City).Returns(city);

            var weatherDataRepoMock = new Mock <IWeatherDataAccess>(MockBehavior.Strict);

            weatherDataRepoMock.Setup(x => x.TryGetWeatherData(city, days, out dayWeatherDatas)).Returns(true);

            var weatherDataManager = new WeatherDataManager(weatherDataRepoMock.Object);

            //Act
            var result = weatherDataManager.GetWeatherForecastData(sensorMock.Object, 1);

            //Assert
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(dayWeatherDatas[0], result[0]);
        }
Пример #4
0
        public WeatherHistoryModel GetWeatherHistory(string city)
        {
            city = city.ToLowerInvariant();
            var weatherDataManager = new WeatherDataManager();

            if (weatherDataManager.IsCityInMonitorList(city))
            {
                List <WeatherInfoEntity> weatherInfo = weatherDataManager.GetWeatherHistory(city);

                weatherInfo = weatherInfo.OrderByDescending(o => DateTime.Parse(o.Date)).Take(50).OrderBy(o => DateTime.Parse(o.Date)).ToList();

                List <double> highTempList = new List <double>();
                List <double> lowTempList  = new List <double>();
                List <string> dateList     = new List <string>();
                foreach (WeatherInfoEntity entity in weatherInfo)
                {
                    highTempList.Add(entity.HighTemp);
                    lowTempList.Add(entity.LowTemp);
                    dateList.Add(entity.Date);
                }

                return(new WeatherHistoryModel()
                {
                    City = city,
                    HighTemp = highTempList.ToArray(),
                    LowTemp = lowTempList.ToArray(),
                    Date = dateList.ToArray()
                });
            }
            else
            {
                //Query OpenWeather
                CityWeather cityWeather = new CityWeather();
                Rootobject  weatherInfo = cityWeather.GetWeather(city);
                if (weatherInfo != null)
                {
                    string today = DateTime.Now.ToString("d");
                    weatherDataManager.UpdateCityInfoToTable(city, today);

                    WeatherInfoEntity model = new WeatherInfoEntity(city, convertKtoF(weatherInfo.main.temp_max), convertKtoF(weatherInfo.main.temp_min), today);

                    weatherDataManager.UpdateHistoryInfoToTable(model);
                    return(new WeatherHistoryModel()
                    {
                        City = city,
                        HighTemp = new double[] { model.HighTemp },
                        LowTemp = new double[] { model.LowTemp },
                        Date = new string[] { today }
                    });
                }
                else
                {
                    return(null); // error
                }
            }
        }
        static void Main(string[] args)
        {
            WeatherDataManager manager = new WeatherDataManager();
            var forCast          = new ForeCastReport(manager);
            var statistic        = new StatisticReport(manager);
            var currentCondition = new CurrentConditionsReport(manager);

            manager.MeasurementsChange(21, 43, 78);
            Console.ReadKey();
        }
Пример #6
0
        public void setWeather(WeatherDataManager weather)
        {
            this.weather      = weather;
            temperatur.Text   = weather.weatherCurrent.weather.temperatur.ToString() + "°C";
            lbl_Location.Text = weather.weatherCurrent.location.nameLocality;
            string path  = Path.Combine(Environment.CurrentDirectory, @"GUI\ImageWeather\", weather.weatherCurrent.weather.icon + ".png");
            Image  image = Image.FromFile(path);

            pictureBox1.Image = image;
        }
Пример #7
0
        public void UpdateWeatherInfo()
        {
            CityWeather cityWeather        = new CityWeather();
            var         weatherDataManager = new WeatherDataManager();

            string[] allCities = weatherDataManager.GetAllCities();
            foreach (string c in allCities)
            {
                Thread.Sleep(1000); // sleep 1s to avoid throttle
                this.QueryOpenWeatherAndUpdateTable(cityWeather, weatherDataManager, c);
            }
        }
Пример #8
0
        private void QueryOpenWeatherAndUpdateTable(CityWeather cityWeather, WeatherDataManager weatherDataManager, string city)
        {
            Rootobject weatherInfo = cityWeather.GetWeather(city);

            if (weatherInfo != null)
            {
                string today = DateTime.Now.ToString("d");
                // string today = "3/9/2017";
                weatherDataManager.UpdateCityInfoToTable(city, today);

                WeatherInfoEntity model = new WeatherInfoEntity(city, convertKtoF(weatherInfo.main.temp_max), convertKtoF(weatherInfo.main.temp_min), today);
                weatherDataManager.UpdateHistoryInfoToTable(model);
            }
        }
Пример #9
0
        static void Main(string[] args)
        {
            WeatherDataManager dataManager = new WeatherDataManager();

            CurrentConditionReport sub1 = new CurrentConditionReport();
            ForeCastReport         sub2 = new ForeCastReport();
            StatisticReport        sub3 = new StatisticReport();;

            sub1.Register(dataManager);

            dataManager.WeatherChange(100, 200, 300);

            sub2.Register(dataManager);
            sub3.Register(dataManager);

            dataManager.WeatherChange(100, 200, 300);

            sub2.Unregister(dataManager);
            dataManager.WeatherChange(100, 200, 300);

            System.Console.ReadKey();
        }
Пример #10
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello.");

            var extractor = new FileExtractor(new FileSystem());
            var weather   = new WeatherData();
            var manager   = new WeatherDataManager(extractor, weather);

            Console.WriteLine($"Processing the file '{AppConstants.FullFileName}'.");
            try
            {
                var result = manager.GetDayWithLeastChange(AppConstants.FullFileName);

                Console.WriteLine($"The result is: {result}.");
            }
            catch (Exception exception)
            {
                Console.WriteLine($"The application threw the following exception: {exception.Message}.");
            }

            Console.WriteLine("I hoped you enjoyed it!");
        }
Пример #11
0
 public WeatherDataManagerTests()
 {
     _reader             = Substitute.For <IReader>();
     _notify             = Substitute.For <INotify>();
     _weatherDataManager = new WeatherDataManager(_reader, _notify);
 }
Пример #12
0
        public string[] GetAllCities()
        {
            var weatherDataManager = new WeatherDataManager();

            return(weatherDataManager.GetAllCities());
        }
Пример #13
0
 public SimpelGUI(WeatherDataManager weather)
 {
     InitializeComponent();
     setWeather(weather);
 }