private static WeatherType OpenWeatherTypeToCommonType(OpenWeatherType type) {
switch (type) {
case OpenWeatherType.RaggedThunderstorm:
case OpenWeatherType.Thunderstorm:
case OpenWeatherType.ThunderstormWithLightRain:
case OpenWeatherType.ThunderstormWithRain:
case OpenWeatherType.ThunderstormWithHeavyRain:
case OpenWeatherType.ThunderstormWithLightDrizzle:
case OpenWeatherType.ThunderstormWithDrizzle:
case OpenWeatherType.ThunderstormWithHeavyDrizzle:
return WeatherType.Thunderstorm;
case OpenWeatherType.LightThunderstorm:
return WeatherType.LightThunderstorm;
case OpenWeatherType.HeavyThunderstorm:
case OpenWeatherType.TropicalStorm:
return WeatherType.HeavyThunderstorm;
case OpenWeatherType.LightIntensityDrizzle:
case OpenWeatherType.LightIntensityDrizzleRain:
return WeatherType.LightDrizzle;
case OpenWeatherType.Drizzle:
case OpenWeatherType.DrizzleRain:
case OpenWeatherType.ShowerDrizzle:
return WeatherType.Drizzle;
case OpenWeatherType.HeavyIntensityDrizzle:
case OpenWeatherType.HeavyIntensityDrizzleRain:
return WeatherType.HeavyDrizzle;
case OpenWeatherType.LightRain:
case OpenWeatherType.LightIntensityShowerRain:
return WeatherType.LightRain;
case OpenWeatherType.ModerateRain:
case OpenWeatherType.FreezingRain:
case OpenWeatherType.ShowerRainAndDrizzle:
case OpenWeatherType.ShowerRain:
case OpenWeatherType.RaggedShowerRain:
return WeatherType.Rain;
case OpenWeatherType.HeavyIntensityRain:
case OpenWeatherType.VeryHeavyRain:
case OpenWeatherType.ExtremeRain:
case OpenWeatherType.HeavyShowerRainAndDrizzle:
case OpenWeatherType.HeavyIntensityShowerRain:
return WeatherType.HeavyRain;
case OpenWeatherType.LightSnow:
case OpenWeatherType.LightShowerSnow:
return WeatherType.LightSnow;
case OpenWeatherType.Snow:
case OpenWeatherType.ShowerSnow:
return WeatherType.Snow;
case OpenWeatherType.HeavySnow:
case OpenWeatherType.HeavyShowerSnow:
return WeatherType.HeavySnow;
case OpenWeatherType.LightRainAndSnow:
return WeatherType.LightSleet;
case OpenWeatherType.RainAndSnow:
case OpenWeatherType.Sleet:
return WeatherType.Sleet;
case OpenWeatherType.ShowerSleet:
return WeatherType.HeavySleet;
case OpenWeatherType.Mist:
return WeatherType.Mist;
case OpenWeatherType.Smoke:
return WeatherType.Smoke;
case OpenWeatherType.Haze:
return WeatherType.Haze;
case OpenWeatherType.Sand:
case OpenWeatherType.SandAndDustWhirls:
return WeatherType.Sand;
case OpenWeatherType.Dust:
case OpenWeatherType.VolcanicAsh:
return WeatherType.Dust;
case OpenWeatherType.Fog:
return WeatherType.Fog;
case OpenWeatherType.Squalls:
return WeatherType.Squalls;
case OpenWeatherType.Tornado:
case OpenWeatherType.TornadoExtreme:
return WeatherType.Tornado;
case OpenWeatherType.ClearSky:
case OpenWeatherType.Calm:
case OpenWeatherType.LightBreeze:
return WeatherType.Clear;
case OpenWeatherType.FewClouds:
case OpenWeatherType.GentleBreeze:
case OpenWeatherType.ModerateBreeze:
return WeatherType.FewClouds;
case OpenWeatherType.ScatteredClouds:
return WeatherType.ScatteredClouds;
case OpenWeatherType.BrokenClouds:
return WeatherType.BrokenClouds;
case OpenWeatherType.OvercastClouds:
return WeatherType.OvercastClouds;
case OpenWeatherType.Hurricane:
case OpenWeatherType.Gale:
case OpenWeatherType.SevereGale:
case OpenWeatherType.Storm:
case OpenWeatherType.ViolentStorm:
case OpenWeatherType.HurricaneAdditional:
return WeatherType.Hurricane;
case OpenWeatherType.Cold:
return WeatherType.Cold;
case OpenWeatherType.Hot:
return WeatherType.Hot;
case OpenWeatherType.Windy:
case OpenWeatherType.FreshBreeze:
case OpenWeatherType.StrongBreeze:
case OpenWeatherType.HighWind:
return WeatherType.Windy;
case OpenWeatherType.Hail:
return WeatherType.Hail;
default:
throw new ArgumentOutOfRangeException(nameof(type), type, null);
}
}