예제 #1
0
        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));
            }
        }
예제 #2
0
        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);
        }