Exemplo n.º 1
0
 public MainWindow()
 {
     InitializeComponent();
     // we no longer need OAuth, secret and key can be omitted.
     // if API access stops working, try to pass secret and key.
     m_weatherProvider = new YahooWeatherProvider();
 }
        // Static Methods
        public static WeatherProviderImpl GetProvider(string API)
        {
            WeatherProviderImpl providerImpl = null;

            switch (API)
            {
            case WeatherAPI.Yahoo:
                providerImpl = new YahooWeatherProvider();
                break;

            case WeatherAPI.WeatherUnderground:
                providerImpl = new WeatherUndergroundProvider();
                break;

            case WeatherAPI.Here:
                providerImpl = new HEREWeatherProvider();
                break;

            case WeatherAPI.OpenWeatherMap:
                providerImpl = new OpenWeatherMapProvider();
                break;

            case WeatherAPI.MetNo:
                providerImpl = new MetnoWeatherProvider();
                break;

            default:
                break;
            }

            if (providerImpl == null)
            {
                throw new ArgumentNullException(nameof(API), "Invalid API name! This API is not supported");
            }

            return(providerImpl);
        }