public double?ConvertTo(double Value, IExchange exchange)
    {
        var    key    = exchange.CurrentUnit + "-" + exchange.TargetUnit;
        var    rate   = _cache.Get(key);
        double?result = null;

        // Se mantiene condicional
        if (rate != null)
        {
            _console.Write("Se encontro la tasa en el cache" + rate);
            result = Value * double.Parse(rate);
        }
        else
        {
            _console.Write("No se encontro la tasa en el cache entonces la voy a buscar en internet");
            string rateFromProvider;

            try {
                rateFromProvider = exchange.GetConversionRate(); // _http.Get("http://www.openexchangerates.com/?currencies="+key+"&value="+Value);
                // constante para todos los convert
                double conversionRate;
                var    isNumber = double.TryParse(rateFromProvider, out conversionRate);
                if (isNumber)
                {
                    _cache.Set(key, rateFromProvider);
                    result = Value * conversionRate;
                    return(result);
                }
            }
            catch (THTTPException e) {
                _console.Write(e.Message);
            }
        }
        return(result);
    }