public static string ForecastString(this WuLocation location, TemperatureUnits unit) { var today = location?.TxtForecasts? [0]; var tonight = location?.TxtForecasts? [1]; var todayString = unit.IsImperial() ? today?.fcttext : today.fcttext_metric; var tonightString = unit.IsImperial() ? tonight?.fcttext : tonight.fcttext_metric; return($"{todayString}\n\nTonight: {tonightString}"); }
public static string ForecastString(this WuLocation location, TemperatureUnits unit, DateTime?date = null) { var period = date.HasValue ? (date.Value.Day - DateTime.Now.Day) * 2 : 0; var day = location?.TxtForecasts?.FirstOrDefault(f => f.period == period); var night = location?.TxtForecasts?.FirstOrDefault(f => f.period == (period + 1)); var dayString = unit.IsImperial() ? day?.fcttext : day.fcttext_metric; var nightString = unit.IsImperial() ? night?.fcttext : night.fcttext_metric; var dayTitle = (period == 0) ? "Today" : day?.title; var nightTitle = (period == 0) ? "Tonight" : night?.title; var forecastString = string.IsNullOrEmpty(dayString) ? string.Empty : $"{dayTitle} expect {dayString}"; if (!string.IsNullOrEmpty(nightString)) { forecastString += $"\n\n{nightTitle} expect {nightString}"; } return(forecastString); }
static string getUnitString(this TemperatureUnits unit) => unit.IsImperial() ? "F" : "C";
static double getValueInUnits(TemperatureUnits units, double?imperial, double?metric, bool round = false) => getValueInUnits(units.IsImperial(), imperial, metric, round);
static double getValueInUnits (TemperatureUnits units, double? imperial, double? metric, bool round = false) => getValueInUnits (units.IsImperial (), imperial, metric, round);
public static string ForecastString (this WuLocation location, TemperatureUnits unit) { var today = location?.TxtForecasts? [0]; var tonight = location?.TxtForecasts? [1]; var todayString = unit.IsImperial () ? today?.fcttext : today.fcttext_metric; var tonightString = unit.IsImperial () ? tonight?.fcttext : tonight.fcttext_metric; return $"{todayString}\n\nTonight: {tonightString}"; }