public IEnumerable <ProductTransaction> Where(Expression <Func <ProductTransaction, bool> > exp)
        {
            IEnumerable <ProductTransaction> transactions;

            try
            {
                transactions = _onlineRepository.Where(exp);
                if (!transactions.Any())
                {
                    _logger.Log(
                        LogLevel.Information,
                        "No se obtuvo información de transacciones online. Usando servicio local.");
                    transactions = _localRepository.Where(exp);
                }
            }
            catch (Exception ex)
            {
                _logger.Log(
                    LogLevel.Warning, ex,
                    "Error obteniendo información de transacciones local.");
                transactions = _localRepository.Where(exp);
            }

            return(transactions);
        }
        public IEnumerable <CurrencyRate> Where(Expression <Func <CurrencyRate, bool> > exp)
        {
            IEnumerable <CurrencyRate> rates;

            try
            {
                rates = _onlineRepository.Where(exp);
                if (!rates.Any())
                {
                    _logger.Log(
                        LogLevel.Information,
                        "No se obtuvo información de rates online. Usando servicio local.");
                    rates = _localCurrencyRateRepository.Where(exp);
                }
            }
            catch (Exception ex)
            {
                _logger.Log(
                    LogLevel.Warning, ex,
                    "Error obteniendo información de rates online. Usando servicio local.");
                rates = _localCurrencyRateRepository.Where(exp);
            }

            return(rates);
        }