예제 #1
0
        public async Task <List <Notificacao> > NotificacoesGeraisUsuario(UnitOfWork unitOfWork, UsuarioADE usuario)
        {
            _servicoAlteracaoEntidades           = new ServicoAlteracaoEntidadesSistema(ref unitOfWork);
            _servicoVisualizacaoNotificacaoGeral = new ServicoVisualizacaoNotificacaoGeral(ref unitOfWork);
            List <VisualizacaoNotificacaoGeral> NotificacoesVisualizadas = await _servicoVisualizacaoNotificacaoGeral.BuscarPorIdUsuario(usuario.Id);

            List <AlteracaoEntidadesSistema> AlteracoesSistema = await _servicoAlteracaoEntidades.FiltrarNotificacoes(usuario, NotificacoesVisualizadas);

            List <Notificacao> Notificacoes = new List <Notificacao>();

            foreach (AlteracaoEntidadesSistema alteracao in AlteracoesSistema)
            {
                try
                {
                    IModeloADE Entidade = await _servicoAlteracaoEntidades.ObterEntidadeAlteracao(alteracao.Entidade, alteracao.IdentificadorEntidade);

                    UsuarioADE AutorAlteracao = await ObterUsuarioPorEmailOuId(alteracao.IdAutor);

                    alteracao.Autor = AutorAlteracao;
                    Notificacoes.Add(new Notificacao(alteracao, Entidade));
                }
                catch (Exception)
                {
                    continue;
                }
            }
            return(Notificacoes);
        }
예제 #2
0
        public async Task <IActionResult> CadastrarVisualizacaoNotificacao(int idNotificacao)
        {
            try
            {
                UsuarioADE usuario = await ObterUsuarioLogado();

                using (unitOfWork = new UnitOfWork(context))
                {
                    _servicoVisualizacaoNotificacaoGeral = new ServicoVisualizacaoNotificacaoGeral(ref unitOfWork);
                    await _servicoVisualizacaoNotificacaoGeral.CadastrarAsync(new VisualizacaoNotificacaoGeral(usuario.Id, idNotificacao));

                    return(Json("{\"Sucesso\": \"Visualização de notificação incluida.\"}"));
                }
            }
            catch (Exception ex)
            {
                await LogError(ex.Message, ex.Source, EnumTipoLog.ErroInterno);

                return(Json("{\"Erro\": \"Erro ao incluir visualizaçao de notificação\"}"));
            }
        }