Ejemplo n.º 1
0
        public async Task <ActionResult <Samurai> > GetSamurai(int id)
        {
            var key = CacheKeys.CacheKeySamurai(id);

            var cachedSamurai = await _samuraiCacheService.GetCacheValueAsync(key);

            if (cachedSamurai != null)
            {
                return(Ok(cachedSamurai));
            }

            var samurai = await _businessLogicData.GetSamurai(id);

            if (samurai == null)
            {
                return(NotFound());
            }

            var samDto = new SamuraiDto
            {
                Name = samurai.Name
            };

            await _samuraiCacheService.SetCacheValueAsync(key, samDto);

            return(Ok(samDto));
        }