public async Task <AuditoriaDto> Handle(AlterarCartaIntencoesObservacaoCommand request, CancellationToken cancellationToken)
        {
            var cartaIntencoesObservacao = await repositorioCartaIntencoesObservacao.ObterPorIdAsync(request.ObservacaoId);

            var usuarioLogado = await mediator.Send(new ObterUsuarioLogadoQuery());

            if (cartaIntencoesObservacao == null)
            {
                throw new NegocioException("Observação da carta de intenção não encontrada.");
            }

            var turma = await repositorioTurma.ObterTurmaComUeEDrePorId(cartaIntencoesObservacao.TurmaId);

            cartaIntencoesObservacao.ValidarUsuarioAlteracao(request.UsuarioId);

            cartaIntencoesObservacao.Observacao = request.Observacao;

            await repositorioCartaIntencoesObservacao.SalvarAsync(cartaIntencoesObservacao);

            if (request.Observacao.Length < 200)
            {
                // Excluir Notificação especifica da observação
                await mediator.Send(new PublicarFilaSgpCommand(RotasRabbit.RotaExcluirNotificacaoObservacaoCartaIntencoes,
                                                               new ExcluirNotificacaoCartaIntencoesObservacaoDto(cartaIntencoesObservacao.Id), Guid.NewGuid(), null));

                await mediator.Send(new PublicarFilaSgpCommand(RotasRabbit.RotaNovaNotificacaoObservacaoCartaIntencoes,
                                                               new SalvarNotificacaoCartaIntencoesObservacaoDto(turma, usuarioLogado, cartaIntencoesObservacao.Id, request.Observacao), Guid.NewGuid(), null));
            }
            return((AuditoriaDto)cartaIntencoesObservacao);
        }
Ejemplo n.º 2
0
        public async Task <AuditoriaDto> Handle(SalvarCartaIntencoesObservacaoCommand request, CancellationToken cancellationToken)
        {
            var cartaIntencoesObservacao = new CartaIntencoesObservacao(request.Observacao, request.TurmaId, request.ComponenteCurricularId, request.UsuarioId);;
            await repositorioCartaIntencoesObservacao.SalvarAsync(cartaIntencoesObservacao);

            var turma = await repositorioTurma.ObterTurmaComUeEDrePorId(request.TurmaId);

            var usuarioLogado = await mediator.Send(new ObterUsuarioLogadoQuery());

            await mediator.Send(new PublicarFilaSgpCommand(RotasRabbit.RotaNovaNotificacaoObservacaoCartaIntencoes,
                                                           new SalvarNotificacaoCartaIntencoesObservacaoDto(turma, usuarioLogado, cartaIntencoesObservacao.Id, request.Observacao), Guid.NewGuid(), null));


            return((AuditoriaDto)cartaIntencoesObservacao);
        }
Ejemplo n.º 3
0
        public async Task <bool> Handle(ExcluirCartaIntencoesObservacaoCommand request, CancellationToken cancellationToken)
        {
            var cartaIntencoesObservacao = await repositorioCartaIntencoesObservacao.ObterPorIdAsync(request.ObservacaoId);

            if (cartaIntencoesObservacao == null)
            {
                throw new NegocioException("Observação da carta de intenções não encontrada.");
            }

            cartaIntencoesObservacao.ValidarUsuarioAlteracao(request.UsuarioId);
            cartaIntencoesObservacao.Remover();

            await repositorioCartaIntencoesObservacao.SalvarAsync(cartaIntencoesObservacao);

            await mediator.Send(new PublicarFilaSgpCommand(RotasRabbit.RotaExcluirNotificacaoObservacaoCartaIntencoes,
                                                           new ExcluirNotificacaoCartaIntencoesObservacaoDto(cartaIntencoesObservacao.Id), Guid.NewGuid(), null));

            return(true);
        }