/// <summary> /// DEPRECATED /// </summary> /// <returns></returns> public List <Notificacao> GetNotificacoesPorPerfil(int idClient, int idAplicacao, int conteudoCompleto = 0, int idProduto = 0, string versao = "") { using (MiniProfiler.Current.Step("Obtendo notificações por perfil")) { if (!RedisCacheManager.CannotCache(RedisCacheConstants.DadosFakes.KeyGetNotificacoesPorPerfil)) { return(RedisCacheManager.GetItemObject <List <Notificacao> > (RedisCacheConstants.DadosFakes.KeyGetNotificacoesPorPerfil)); } var lstNotificacao = _notificacaoRepository.GetNotificacoesAplicacao(idAplicacao, idClient); var menus = _menuBusiness.GetPermitidos((int)Aplicacoes.MsProMobile, idClient, conteudoCompleto, idProduto, versao); var exibeDuvidas = Utilidades.MenuPermitido(menus, (int)Utilidades.EMenuAccessObject.DuvidasAcademicas); var notificacoesAdm = lstNotificacao.Where(x => x.Matricula.Equals(-1)); var lstObjetoNotificacao = notificacoesAdm.Select(x => new AccessObject { Id = x.IdNotificacao, Nome = x.Texto }).ToList(); var lstPermissoes = GetAlunoPermissoes(lstObjetoNotificacao, idClient, idAplicacao); var lstPermissoesVisualizacao = lstPermissoes.Where(x => x.AcessoId != (int)(Utilidades.PermissaoStatus.SemAcesso)).ToList(); var notificacaoesPermitidas = new List <Notificacao> (); foreach (var objeto in lstObjetoNotificacao) { var notificaocaoPermissao = lstPermissoesVisualizacao.Find(p => p.ObjetoId == objeto.Id); if (notificaocaoPermissao != null) { notificacaoesPermitidas.Add(lstNotificacao.FirstOrDefault(x => x.IdNotificacao == objeto.Id)); } } if (exibeDuvidas) { var notificacoesAutomaticas = _notificacaoDuvidaData.GetNotificacoesDuvidasAcademicasAluno(idClient); foreach (var item in notificacoesAutomaticas) { item.Texto = item.Texto.Replace("#QTD", GetMensagemNotificacaoDuvidasAcademicas(item.TipoNotificacao.Id, item.Quantidade)); } notificacaoesPermitidas.AddRange(notificacoesAutomaticas); } notificacaoesPermitidas = notificacaoesPermitidas.OrderByDescending(x => x.DataOriginal).ToList(); return(notificacaoesPermitidas); } }
private Task <List <Menu> > ObterPermissoesRecursosAsync(int matricula, string versao, Aplicacoes aplicacao) { return(Task.Factory.StartNew(() => _menuBusiness.GetPermitidos((int)aplicacao, matricula, 0, 0, versao))); }