public async Task <IViewComponentResult> InvokeAsync(EnumTipoNotificacao TipoNotificacao = EnumTipoNotificacao.Ambos, object Notificacao = null) { string view = TipoNotificacao.GetDescription(); switch (TipoNotificacao) { case EnumTipoNotificacao.Geral: return(View(view, (Notificacao)Notificacao)); case EnumTipoNotificacao.Individual: return(View(view, (NotificacaoIndividual)Notificacao)); default: UsuarioADE usuario = await NotificacaoController.ObterUsuarioLogado(); NotificacaoViewmodel model = new NotificacaoViewmodel(); if (usuario.ReceberNotificacaoFocado() || usuario.ReceberNotificacaoGeral()) { model.NotificacacoesIndividuais = await NotificacaoController.ListaNotificacoesUsuario(usuario, unitOfWork); } else if (!usuario.ReceberNotificacaoFocado()) { model.NotificacacoesGerais = await NotificacaoController.NotificacoesGeraisUsuario(unitOfWork, usuario); } return(View(view, model)); } }
public async Task <IActionResult> ObterNotificacoesDeAlteracaoDoSistema() { using (unitOfWork = new UnitOfWork(context)) { try { UsuarioADE usuario = await ObterUsuarioLogado(); if (usuario.ReceberNotificacaoGeral()) { List <Notificacao> Notificacoes = await NotificacoesGeraisUsuario(unitOfWork, usuario); string NotificacoesJson = JsonConvert.SerializeObject(Notificacoes, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); return(Json(NotificacoesJson)); } return(Json("{\"Erro\": \"Usuário não recebe notificações gerais\"}")); } catch (Exception ex) { await LogError(ex.Message, ex.Source, EnumTipoLog.ErroInterno); return(Json("{\"Erro\": \"Erro ao obter notificações\"}")); }; } }
private async Task <AlterarTipoNotificacaoViewmodel> ParseAlterarTipoNotificacaoViewmodel() { UsuarioADE usuario = await ObterUsuarioLogado(); AlterarTipoNotificacaoViewmodel model = new AlterarTipoNotificacaoViewmodel(); if (usuario.ReceberNotificacaoFocado() || usuario.ReceberNotificacaoGeral()) { model.NotificacacoesIndividuais = await base.ListaNotificacoesUsuario(usuario, unitOfWork); } else if (!usuario.ReceberNotificacaoFocado()) { model.NotificacacoesGerais = await base.NotificacoesGeraisUsuario(unitOfWork, usuario); } model.TipoRecebimentoNotificacao = usuario.TipoRecebimentoNotificacao; return(model); }