示例#1
0
        public IActionResult Listar([FromRoute] Guid id)
        {
            Perfil perfil;
            bool   cacheEstaConfigurado = new Func <bool>(() => { try { return(_cache.GetString("Perfil") != null); } catch { return(false); } })();

            if (cacheEstaConfigurado)
            {
                string valorEmCache = _cache.GetString("Perfil");

                if (string.IsNullOrWhiteSpace(valorEmCache))
                {
                    perfil = _perfilService.ObterPorId(id);
                    _cache.SetString("Perfil", JsonConvert.SerializeObject(perfil), _cacheOptions);
                }
                else
                {
                    perfil = JsonConvert.DeserializeObject <Perfil>(valorEmCache);
                }
            }
            else
            {
                perfil = _perfilService.ObterPorId(id);
            }

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

            return(Ok(perfil));
        }