Example #1
0
        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);
        }