Ejemplo n.º 1
0
            internal static List <string> FormatForecastResponse(ForecastWeatherModel.Forecast forecast, CurrentWeatherModel.Location location, bool shortWeather = false)
            {
                var           b        = IrcConstants.IrcBold;
                var           n        = IrcConstants.IrcNormal;
                var           c        = IrcConstants.IrcColor;
                var           colours  = new Colours();
                List <string> response = new List <string>();

                foreach (ForecastWeatherModel.ForecastDay day in forecast.ForecastDays)
                {
                    if (shortWeather)
                    {
                        response.Add($"Forecast for {day.Date.ToShortDateString()}: {b}Avg:{n} {FormatTemperatureCelsius(day.Day.AvgTempCelsius)}°C; " +
                                     $"{b}Min:{n} {FormatTemperatureCelsius(day.Day.MinTempCelsius)}°C; " +
                                     $"{b}Max:{n} {FormatTemperatureCelsius(day.Day.MaxTempCelsius)}°C; " +
                                     //$"{b}Cond:{n} {day.Day.Condition.Text}; " +
                                     $"{b}Precip:{n} {day.Day.TotalPrecipMm} mm; " +
                                     $"{b}Avg Humidity:{n} {day.Day.AvgHumidity}%; " +
                                     $"{b}Astro:{n} Sunrise at {c}{colours.Blue}{day.Astro.Sunrise}{n}, sunset at {c}{colours.Orange}{day.Astro.Sunset}{n}");
                        continue;
                    }
                    response.Add($"Forecast for {day.Date.ToShortDateString()}: {b}Avg:{n} {FormatTemperatureCelsius(day.Day.AvgTempCelsius)}°C / {FormatTemperatureFahrenheit(day.Day.AvgTempFahrenheit)}°F; " +
                                 $"{b}Min:{n} {FormatTemperatureCelsius(day.Day.MinTempCelsius)}°C / {FormatTemperatureFahrenheit(day.Day.MinTempFahrenheit)}°F; " +
                                 $"{b}Max:{n} {FormatTemperatureCelsius(day.Day.MaxTempCelsius)}°C / {FormatTemperatureFahrenheit(day.Day.MaxTempFahrenheit)}°F; " +
                                 //$"{b}Condition:{n} {day.Day.Condition.Text}; " +
                                 $"{b}Wind (Max):{n} {day.Day.MaxWindKph} Kph / {day.Day.MaxWindMph} Mph; " +
                                 $"{b}Precipitation:{n} {day.Day.TotalPrecipMm} mm / {day.Day.TotalPrecipIn} in; " +
                                 $"{b}Avg Visibility:{n} {day.Day.AvgVisibilityKm} km / {day.Day.AvgVisibilityMiles} mi; " +
                                 $"{b}Avg Humidity:{n} {day.Day.AvgHumidity}%; " +
                                 $"{b}Astro:{n} Sunrise at {c}{colours.Blue}{day.Astro.Sunrise}{n}, sunset at {c}{colours.Orange}{day.Astro.Sunset}{n}");
                }
                return(response);
            }
Ejemplo n.º 2
0
            internal static string FormatWeatherResponse(CurrentWeatherModel.CurrentCondition currentWeather, CurrentWeatherModel.Location location, bool shortWeather = false)
            {
                var b = IrcConstants.IrcBold;
                var n = IrcConstants.IrcNormal; // Gets a bit repetitive (also I'm illiterate)

                if (shortWeather)
                {
                    return
                        ($"{b}{location.Name}, {location.Country}{n}: " +
                         $"{b}Temp:{n} {FormatTemperatureCelsius(currentWeather.Temperature)}°C " +
                         $"(feels like {FormatTemperatureCelsius(currentWeather.FeelsLike)}°C); " +
                         $"{b}Cond:{n} {currentWeather.WeatherDescriptions[0]}; " +
                         $"{b}Precip:{n} {currentWeather.Precipitation} mm; " +
                         $"{b}Humidity:{n} {currentWeather.Humidity}%; " +
                         $"at {currentWeather.ObservationTime} UTC");
                }
                return
                    ($"Weather at {b}{location.Name}, {location.Region}, {location.Country}{n}: " +
                     $"{b}Temp:{n} {FormatTemperatureCelsius(currentWeather.Temperature)}°C / {FormatTemperatureFahrenheit(ConversionHelpers.CelsiusToFahrenheit(currentWeather.Temperature))}°F " +
                     $"(feels like {FormatTemperatureCelsius(currentWeather.FeelsLike)}°C / {FormatTemperatureFahrenheit(ConversionHelpers.CelsiusToFahrenheit(currentWeather.FeelsLike))}°F); " +
                     $"{b}Condition:{n} {currentWeather.WeatherDescriptions[0]}; " +
                     $"{b}Wind:{n} {currentWeather.WindSpeed} Kph / {ConversionHelpers.KilometresToMiles(currentWeather.WindSpeed)} Mph {currentWeather.WindDirection}; " +
                     $"{b}Precipitation:{n} {currentWeather.Precipitation} mm / {ConversionHelpers.MmToInch(currentWeather.Precipitation)} in; " +
                     $"{b}Humidity:{n} {currentWeather.Humidity}%; " +
                     $"{b}Pressure:{n} {currentWeather.Pressure} mbars; " +
                     $"{b}Visibility:{n} {currentWeather.Visibility} km / {ConversionHelpers.KilometresToMiles( currentWeather.Visibility)} mi; " +
                     $"Observed at {currentWeather.ObservationTime} UTC");
            }