public async Task <List <TransactionResponse> > Handle(GetTransactionsByCurrencyQuery request, CancellationToken cancellationToken)
        {
            var isValid = _transactionValidator.IsCurrencyCodeValid(request.CurrencyCode);

            if (!isValid)
            {
                return(new List <TransactionResponse>());
            }

            var cacheKey = string.Format(TransactionCacheDefaults.TransactionsByCurrencyCacheFormat, request.CurrencyCode);

            return(await _cacheManager.GetOrCreateAsync(cacheKey,
                                                        () => _transactionService.GetByCurrencyAsync(request.CurrencyCode)));
        }