public async Task <IList <string> > ObterAcaoPerfilAsync(string perfil) { var chave = _config.GetValue <string>("ChaveAcao"); var cache = new CacheManager(); var chavePerfil = $"{chave}.{perfil}"; var lista = cache.ObterDoCache <IList <string> >(chavePerfil); if (lista == null) { lista = new List <string>(); var resultado = (await _repositorio.ObterAcaoPerfilAsync(perfil)); foreach (var item in resultado) { if (!string.IsNullOrEmpty(item.Criar)) { lista.Add($"{item.Criar}"); } if (!string.IsNullOrEmpty(item.Ler)) { lista.Add($"{item.Ler}"); } if (!string.IsNullOrEmpty(item.Editar)) { lista.Add($"{item.Editar}"); } if (!string.IsNullOrEmpty(item.Deletar)) { lista.Add($"{item.Deletar}"); } } cache.AdicionarAoCache(lista, chavePerfil, 14000); } return(lista); }