static public string BuildRequestUrl(EProvider oProvider, ECity oCity)
        {
            IForecastExtension oExtension = null;

            switch (oProvider.Id)
            {
            case "1":
                oExtension = new ForecastIOExtension();
                break;

            case "2":
                oExtension = new WeatherUndergroundExtension();
                break;

            default:
                oExtension = new ForecastIOExtension();
                break;
            }
            return(oExtension.GetForecastRequest(oProvider, oCity));
        }
        static public EForecast ConvertToForecastData(string provider, string json)
        {
            IForecastExtension oExtension = null;

            switch (provider)
            {
            case "1":
                oExtension = new ForecastIOExtension();
                break;

            case "2":
                oExtension = new WeatherUndergroundExtension();
                break;

            default:
                oExtension = new ForecastIOExtension();
                break;
            }
            return(oExtension.GetForecastResponse(json));
        }