public async Task <bool> Handle(MarcarExcluidaMensagenUsuarioAlunoIdCommand request, CancellationToken cancellationToken) { var usuario = await usuarioRepository.ObterUsuarioNaoExcluidoPorCpf(request.Cpf) ?? throw new ArgumentException($"CPF não encontrado {request.Cpf}"); var usuarioNotificacao = await usuarioNotificacaoRepositorio.ObterPorUsuarioAlunoNotificacao(usuario.Id, request.CodigoAluno, request.NotificacaoId); if (usuarioNotificacao == null) { usuarioNotificacao = new UsuarioNotificacao { UsuarioId = usuario.Id, UsuarioCpf = usuario.Cpf, CriadoPor = usuario.Cpf, NotificacaoId = request.NotificacaoId, MensagemExcluida = true, MensagemVisualizada = true }; return(await usuarioNotificacaoRepositorio.Criar(usuarioNotificacao)); } else { usuarioNotificacao.MensagemExcluida = true; return(await usuarioNotificacaoRepositorio.Atualizar(usuarioNotificacao)); } }
public async Task <UsuarioNotificacao> Handle(ObterUsuarioNotificacaoQuery request, CancellationToken cancellationToken) { return(await usuarioNotificacaoRepositorio.ObterPorUsuarioAlunoNotificacao(request.UsuarioId, request.CodigoAluno, request.NotificacaoId)); }