Example #1
0
 public Candidato(RegistroDeInscricaoNovoCandidato command)
 {
     Nome           = command.Nome;
     Email          = command.Email;
     Cpf            = new Cpf(command.Cpf);
     DataNascimento = command.DataNascimento;
 }
Example #2
0
        public void TesteNovaInscricao()
        {
            var commando = new RegistroDeInscricaoNovoCandidato
            {
                CursoId        = 1,
                DataNascimento = new System.DateTime(1980, 1, 6),
                Email          = "*****@*****.**",
                Nome           = "Yan de Lima Justino",
                Cpf            = "11111111111"
            };

            var mock = new Mock <IRepositorioInscricao>();

            mock.Setup(framework => framework.Salvar(null));

            IRepositorioInscricao irepositorio = mock.Object;

            InscricaoService service = new InscricaoService(irepositorio, new ServicoDeVerificacaoDeBolsaDeEstudo());

            service.Executar(commando);

            Assert.IsTrue(service.Valid);

            mock.Verify(framework => framework.Salvar(null), Times.AtMostOnce());
        }
Example #3
0
        public ActionResult Post([FromBody] RegistroDeInscricaoNovoCandidato command)
        {
            _service.Executar(command);

            if (_service.Invalid)
            {
                return(BadRequest(_service.Notifications));
            }
            else
            {
                return(Ok());
            }
        }
Example #4
0
        public void CpfCandidatoInvalido()
        {
            var commando = new RegistroDeInscricaoNovoCandidato
            {
                CursoId        = 1,
                DataNascimento = new System.DateTime(2019, 1, 24),
                Email          = "*****@*****.**",
                Nome           = "",
                Cpf            = "1"
            };

            var candidato = new Candidato(commando);

            candidato.Validate();

            Assert.IsTrue(candidato.Invalid, string.Join(',', candidato.Notifications));
        }
Example #5
0
            public static Inscricao NovaInscricao(RegistroDeInscricaoNovoCandidato comando, Curso cursoPretendido)
            {
                var inscricao = new Inscricao()
                {
                    Candidato       = new Candidato(comando),
                    Situacao        = SituacaoCandidato.Nenhuma.DisplayName,
                    CursoPretendido = cursoPretendido,
                    DataInscricao   = DateTime.Today,
                    BolsaEstudo     = false
                };

                if (inscricao.Candidato.Invalid)
                {
                    inscricao.AddNotifications(inscricao.Candidato);
                }

                return(inscricao);
            }
Example #6
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);
            }
        }