Exemple #1
0
        public async Task <IActionResult> Get(string cpfAluno)
        {
            // para atender os requisitos de segurança atribui o id do usuário ao comando
            GerarMatriculaCommand command = new GerarMatriculaCommand(cpfAluno, User.Identity.Name);

            // realiza a lógica da geração e gravação do ra no banco
            var result = (GerarMatriculaCommandResult)await _matriculaHandler.Handle(command);

            // se houve alguma inconsitência
            if (!result.Success)
            {
                return(BadRequest(result));
            }

            // caso matricula gerada e gravada no banco posta a mensagem no barramento
            // para que o serviço de integração a consuma

            IntegrarMatriculaCommand integrarMatriculaCommand = new IntegrarMatriculaCommand();

            var matriculaQueryResult = (BuscarMatriculaQueryResult)result.Data;

            integrarMatriculaCommand.Id               = matriculaQueryResult.Id;
            integrarMatriculaCommand.DataHora         = matriculaQueryResult.DataHora.ToString();
            integrarMatriculaCommand.Cpf              = matriculaQueryResult.Cpf;
            integrarMatriculaCommand.Ra               = matriculaQueryResult.Ra;
            integrarMatriculaCommand.IsAtivo          = matriculaQueryResult.IsAtivo;
            integrarMatriculaCommand.OrigemIntegracao = ORIGEM_INTEGRACAO;
            integrarMatriculaCommand.IdUsuarioEmail   = User.Identity.Name;;

            await _busClient.PublishAsync(integrarMatriculaCommand);

            return(Ok(result));
        }
Exemple #2
0
        public CommandResult Create(
            [FromBody] CreateMatriculaCommand command,
            [FromServices] MatriculaHandler handler,
            [FromServices] IPagamentoRepository pagrepository
            )
        {
            if (pagrepository.GetAll(command.IdAluno).Count() == 0)
            {
                return new CommandResult()
                       {
                           Data    = command,
                           Message = "Não há pagamentos para o aluno",
                           Sucess  = false
                       }
            }
            ;

            return((CommandResult)handler.Handle(command));
        }