示例#1
0
        public void Executar(RegistroDeInscricaoNovoCandidato command)
        {
            var curso     = _repositorioInscricao.RecuperarCursoPorId(command.CursoId);
            var inscricao = Dominio.Inscricao.Fabrica.NovaInscricao(command, curso);

            if (inscricao.Invalid)
            {
                AddNotifications(inscricao);
            }
            else
            {
                if (_servicoDeVerificacaoDeBolsaDeEstudo.TentarAplicarBolsaEstudo(inscricao.Candidato, curso))
                {
                    inscricao.LiberarBolsaEstudo();
                }

                _repositorioInscricao.Salvar(inscricao);
            }
        }