예제 #1
0
        public WeatherPageViewModel()
        {
            zipRequest     = new ZippoRequest();
            oneCallRequest = new OneCallRequest();

            hourlyChartCelsiusVm    = new HourlyChartViewModel(TemperatureFormat.Celsius);
            hourlyChartFahrenheitVm = new HourlyChartViewModel(TemperatureFormat.Fahrenheit);
            currentWeatherVm        = new CurrentWeatherViewModel();
            dayWeatherViewModels    = new ObservableCollection <DayWeatherViewModel>();

            for (int i = 0; i < NumberOfDailyEntries; i++)
            {
                var dayWeatherVm = new DayWeatherViewModel();
                dayWeatherViewModels.Add(dayWeatherVm);
            }

            HasError     = true;
            ErrorMessage = "No zip code requested.";

            if (IsInDesignMode)
            {
                HasError     = false;
                ErrorMessage = "Weather page error message.";
            }
        }
예제 #2
0
        private void UpdateDailyForecast()
        {
            List <DailyEntry> dailies = oneCallRequest.OneCall.DailyEntries;

            for (int i = 0; i < dayWeatherViewModels.Count; i++)
            {
                DailyEntry daily   = dailies[i];
                Weather    weather = daily.WeatherEntries[0];

                Temperature temperatureHigh = new Temperature(daily.DailyTemperature.DailyHighCelsius, TemperatureFormat.Celsius);
                Temperature temperatureLow  = new Temperature(daily.DailyTemperature.DailyLowCelsius, TemperatureFormat.Celsius);

                DayWeatherViewModel vm = dayWeatherViewModels[i];
                vm.Date                      = FormatDateString(daily.DateTime);
                vm.Description               = GetFinalDescription(weather.Description);
                vm.TemperatureCelsiusLow     = string.Format("{0:0.00}", temperatureLow.Celsius);
                vm.TemperatureCelsiusHigh    = string.Format("{0:0.00}", temperatureHigh.Celsius);
                vm.TemperatureFahrenheitLow  = string.Format("{0:0.00}", temperatureLow.Fahrenheit);
                vm.TemperatureFahrenheitHigh = string.Format("{0:0.00}", temperatureHigh.Fahrenheit);
                vm.IconUrl                   = weather.GetIconUrl();
            }
        }