private static CentralAudioViewModel ObterAudioCategoriaDB(int?categoriaId) { var url = ServerSettings.Url; using (var db = new ModeloDados()) { var categoria = db.CategoriasAudios.Where(cat => cat.Id == categoriaId).FirstOrDefault(); var audios = db.Audios.Where(audio => !audio.Excluido && audio.Liberado && audio.Colecao.Categoria.Id == categoriaId) .OrderByDescending(audio => audio.DataCadastro) .Take(20) .Select(audio => new AudioViewModel { Url = url + "/Admin/conteudo/audios/" + audio.Id + "/" + audio.Url, Titulo = audio.Colecao.Titulo, Data = audio.DataCadastro, Id = audio.Id }).AsParallel() .ToList(); var central = new CentralAudioViewModel(); central.Audios = audios; central.DataCadastro = categoria.DataCadastro; central.Descricao = categoria.Descricao; return(central); } }
public static CentralAudioViewModel ObterAudioCategoria(int?categoriaId) { string key = primeKey + "ObterAudioCategoria:" + categoriaId + ":TCategoriasAudios:TNoticias"; Func <object, CentralAudioViewModel> funcao = t => ObterAudioCategoriaDB(categoriaId); CentralAudioViewModel retorno = Site.Services.RedisService.GetOrSetToRedis(key, funcao, 60); return(retorno); }