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))); }