set => _setter(_model, value);
/// <summary> /// Intializes and returns a new <see cref="Model"/> instance and populates it from the passed <see cref="_model"/>. /// </summary> public static Model ToDaily(_model m) { Model d = new Model(); if (m.Temp?.Count == 2) { d.Temp = new ForecastMinMax() { Min = new ForecastValueUnit() { ObservationTime = m.Temp[0].ObservationTime, Value = m.Temp[0].Min.Value, Units = m.Temp[0].Min.Units, }, Max = new ForecastValueUnit() { ObservationTime = m.Temp[1].ObservationTime, Value = m.Temp[1].Max.Value, Units = m.Temp[1].Max.Units, } }; } if (m.FeelsLike?.Count == 2) { d.FeelsLike = new ForecastMinMax() { Min = new ForecastValueUnit() { ObservationTime = m.FeelsLike[0].ObservationTime, Value = m.FeelsLike[0].Min.Value, Units = m.FeelsLike[0].Min.Units, }, Max = new ForecastValueUnit() { ObservationTime = m.FeelsLike[1].ObservationTime, Value = m.FeelsLike[1].Max.Value, Units = m.FeelsLike[1].Max.Units, } }; } if (m.Dewpoint?.Count == 2) { d.Dewpoint = new ForecastMinMax() { Min = new ForecastValueUnit() { ObservationTime = m.Dewpoint[0].ObservationTime, Value = m.Dewpoint[0].Min.Value, Units = m.Dewpoint[0].Min.Units, }, Max = new ForecastValueUnit() { ObservationTime = m.Dewpoint[1].ObservationTime, Value = m.Dewpoint[1].Max.Value, Units = m.Dewpoint[1].Max.Units, } }; } if (m.Humidity?.Count == 2) { d.Humidity = new ForecastMinMax() { Min = new ForecastValueUnit() { ObservationTime = m.Humidity[0].ObservationTime, Value = m.Humidity[0].Min.Value, Units = m.Humidity[0].Min.Units, }, Max = new ForecastValueUnit() { ObservationTime = m.Humidity[1].ObservationTime, Value = m.Humidity[1].Max.Value, Units = m.Humidity[1].Max.Units, } }; } if (m.WindSpeed?.Count == 2) { d.WindSpeed = new ForecastMinMax() { Min = new ForecastValueUnit() { ObservationTime = m.WindSpeed[0].ObservationTime, Value = m.WindSpeed[0].Min.Value, Units = m.WindSpeed[0].Min.Units, }, Max = new ForecastValueUnit() { ObservationTime = m.WindSpeed[1].ObservationTime, Value = m.WindSpeed[1].Max.Value, Units = m.WindSpeed[1].Max.Units, } }; } if (m.WindDirection?.Count == 2) { d.WindDirection = new ForecastMinMax() { Min = new ForecastValueUnit() { ObservationTime = m.WindDirection[0].ObservationTime, Value = m.WindDirection[0].Min.Value, Units = m.WindDirection[0].Min.Units, }, Max = new ForecastValueUnit() { ObservationTime = m.WindDirection[1].ObservationTime, Value = m.WindDirection[1].Max.Value, Units = m.WindDirection[1].Max.Units, } }; } if (m.BaroPressure?.Count == 2) { d.BaroPressure = new ForecastMinMax() { Min = new ForecastValueUnit() { ObservationTime = m.BaroPressure[0].ObservationTime, Value = m.BaroPressure[0].Min.Value, Units = m.BaroPressure[0].Min.Units, }, Max = new ForecastValueUnit() { ObservationTime = m.BaroPressure[1].ObservationTime, Value = m.BaroPressure[1].Max.Value, Units = m.BaroPressure[1].Max.Units, } }; } if (m.Precipitation?.Count == 1) { d.Precipitation = new ForecastMax() { Max = new ForecastValueUnit() { ObservationTime = m.Precipitation[0].ObservationTime, Value = m.Precipitation[0].Max.Value, Units = m.Precipitation[0].Max.Units, } }; } d.PrecipitationProbability = m.PrecipitationProbability ?? null; d.PrecipitationAccumulation = m.PrecipitationAccumulation ?? null; d.Sunrise = m.Sunrise ?? null; d.Sunset = m.Sunset ?? null; if (m.Visibility?.Count == 2) { d.Visibility = new ForecastMinMax() { Min = new ForecastValueUnit() { ObservationTime = m.Visibility[0].ObservationTime, Value = m.Visibility[0].Min.Value, Units = m.Visibility[0].Min.Units, }, Max = new ForecastValueUnit() { ObservationTime = m.Visibility[1].ObservationTime, Value = m.Visibility[1].Max.Value, Units = m.Visibility[1].Max.Units, } }; } d.WeatherCode = m.WeatherCode ?? null; d.ObservationTime = m.ObservationTime ?? null; d.Latitude = m.Latitude; d.Longitude = m.Longitude; return(d); }