public DarkSkyCurrentWeatherViewModel(DarkSkyWeather darkSkyWeather, string city, string countryCode) { City = city; Country = countryCode; Temp = Math.Round(darkSkyWeather.temperature); Description = darkSkyWeather.summary.ToUpper(); Icon = darkSkyWeather.icon; }
public DarkSkyTodayWeatherDetailViewModel(DarkSkyWeather darkSkyWeather) { var timeLong = darkSkyWeather.time; var time = timeLong.UnixTimestampToLocalDateTimeLong().ToViHour4(); Time = time; Temp = Math.Round(darkSkyWeather.temperature); Icon = darkSkyWeather.icon; }
private async Task AddOrUpdateDarkSkyWeather(TodayType type, long time, double latitude, double longitude, string timezone, string summary, string icon, double temperature, double apparentTemperature, string username) { var darkSkyWeather = await _context.DarkSkyWeathers.FirstOrDefaultAsync(m => m.Type == type && m.time == time && m.latitude == latitude && m.longitude == longitude); if (darkSkyWeather == null) { darkSkyWeather = new DarkSkyWeather() { latitude = latitude, longitude = longitude, timezone = timezone, time = time, summary = summary, icon = icon, temperature = temperature, apparentTemperature = apparentTemperature, DateCreated = DateTime.Now, DateModified = DateTime.Now, UserCreated = username, UserModified = username, Type = type }; await _context.AddAsync(darkSkyWeather); await _context.SaveChangesAsync(); _logger.LogInformation($"GetDarkSkyWeatherApi {type} add new DarkSkyWeather {darkSkyWeather.Id}"); } else { darkSkyWeather.summary = summary; darkSkyWeather.icon = icon; darkSkyWeather.temperature = temperature; darkSkyWeather.apparentTemperature = apparentTemperature; darkSkyWeather.DateModified = DateTime.Now; darkSkyWeather.UserModified = username; await _context.SaveChangesAsync(); _logger.LogInformation($"GetDarkSkyWeatherApi {type} update DarkSkyWeather {darkSkyWeather.Id}"); } }
public async Task <WeatherData> GetWeatherData(double latitude, double longitude) { DarkSkyWeather darkSkyWeather = await GetWeather(latitude, longitude); if (darkSkyWeather != null) { DayTimeStart = darkSkyWeather.daily.data.FirstOrDefault().sunrise.Hour; DayTimeEnd = darkSkyWeather.daily.data.FirstOrDefault().sunset.Hour; return(new WeatherData { Description = darkSkyWeather.currently.summary, Sunrise = darkSkyWeather.daily.data.FirstOrDefault().sunrise, Sunset = darkSkyWeather.daily.data.FirstOrDefault().sunset, WeatherForecasts = GetDarkSkyForecasts(darkSkyWeather) }); } throw new ArgumentNullException(nameof(darkSkyWeather)); }
private ICollection <Forecast> GetDarkSkyForecasts(DarkSkyWeather darkSkyWeather) { List <Forecast> fiveDayOneHourForecasts = ( from item in darkSkyWeather.hourly.data select new Forecast { StartDateTime = item.dateTime, EndDateTime = item.dateTime.AddHours(1).AddSeconds(-1), Description = item.summary, Temperature = item.temperature, Humidity = item.humidity, AtmosphericPressure = item.pressure, Windspeed = item.windSpeed, WindDirection = item.windBearing, SkyCon = item.icon, Icon = GetIcon(item.icon, (int)item.cloudCover, item.dateTime.Hour), CloudCover = item.cloudCover, PrecipitationVolume = item.precipIntensity }).ToList(); return(GetThreeHourSummedForecasts(fiveDayOneHourForecasts)); }
public Weather(DarkSkyWeather darkSkyWeather) { DarkSky = darkSkyWeather; }