Example #1
0
        public IActionResult Criar([FromBody] AlunoInputModel novoAluno)
        {
            try
            {
                if (Aluno.Novo(novoAluno.Nome, novoAluno.Email, novoAluno.DataNascimento) is var aluno && aluno.EhFalha)
                {
                    return(StatusCode(aluno.Falha.Codigo, aluno.Falha));
                }
                if (_alunosRepositorio.RecuperarPorEmail(aluno.Sucesso.Email).EhSucesso)
                {
                    return(BadRequest(Falha.Nova(400, "Email já está em uso: " + novoAluno.Email)));
                }
                if (_alunosRepositorio.IncluirESalvar(aluno.Sucesso) is var resultado && resultado.EhFalha)
                {
                    return(StatusCode(resultado.Falha.Codigo, resultado.Falha));
                }

                return(CreatedAtAction(nameof(Recuperar), new { aluno.Sucesso.Id },
                                       new AlunoViewModel(aluno.Sucesso.Id, aluno.Sucesso.Nome, aluno.Sucesso.Email, aluno.Sucesso.Idade(DateTime.Now),
                                                          aluno.Sucesso.Inscricoes.Select(a => new InscricaoViewModel(aluno.Sucesso.Id, new InscricaoViewModel.TurmaViewModel(a.Turma.Id, a.Turma.Descricao), a.InscritoEm)).ToList())));
            }
            catch (Exception e)
            {
                return(StatusCode(500, new { error = e.Message }));
            }
        }
Example #2
0
        public IActionResult Criar([FromBody] AlunoInputModel novoAluno)
        {
            var resultado = _novoAlunoHandler.Executar(new NovoAlunoComando(novoAluno.Nome, novoAluno.Email, novoAluno.DataNascimento));

            if (resultado.EhFalha)
            {
                return(StatusCode(resultado.Falha.Codigo, resultado.Falha));
            }

            return(CreatedAtAction(nameof(Recuperar), new { resultado.Sucesso.Id },
                                   new AlunoViewModel(resultado.Sucesso.Id, resultado.Sucesso.Nome, resultado.Sucesso.Email, resultado.Sucesso.Idade(DateTime.Now),
                                                      resultado.Sucesso.Inscricoes.Select(a => new InscricaoViewModel(resultado.Sucesso.Id, new InscricaoViewModel.TurmaViewModel(a.Turma.Id, a.Turma.Descricao), a.InscritoEm)).ToList())));
        }
Example #3
0
        public IActionResult Post([FromBody] AlunoInputModel alunoInputModel)
        {
            var aluno = new Aluno(
                alunoInputModel.Nome,
                alunoInputModel.Endereco,
                alunoInputModel.DataNascimento
                );

            _awesomeGymDbContext.Alunos.Add(aluno);
            _awesomeGymDbContext.SaveChanges();

            return(CreatedAtAction(nameof(GetById), alunoInputModel, new { id = aluno.Id }));
        }
Example #4
0
        public IActionResult Criar([FromBody] AlunoInputModel novoAluno)
        {
            try
            {
                var aluno = Aluno.Novo(novoAluno.Nome, novoAluno.Email, novoAluno.DataNascimento);
                if (_alunosRepositorio.RecuperarPorEmail(aluno.Email) != null)
                {
                    return(BadRequest("Email já está em uso: " + novoAluno.Email));
                }
                _alunosRepositorio.IncluirESalvar(aluno);

                return(CreatedAtAction(nameof(Recuperar), new { aluno.Id },
                                       new AlunoViewModel(aluno.Id, aluno.Nome, aluno.Email, aluno.Idade(DateTime.Now),
                                                          aluno.Inscricoes.Select(a => new InscricaoViewModel(aluno.Id, new InscricaoViewModel.TurmaViewModel(a.Turma.Id, a.Turma.Descricao), a.InscritoEm)).ToList())));
            }
            catch (Exception e)
            {
                return(StatusCode(500, new { error = e.Message }));
            }
        }
Example #5
0
        public IActionResult Post([FromBody] AlunoInputModel alunoInputModel)
        {
            /* _bancoContext.Alunos.Add(aluno);
             * _bancoContext.SaveChanges();
             *
             * return CreatedAtAction(nameof(BuscarPor_Id), aluno, new { id = aluno.Id });
             */
            var professor = new Professor("professor 1", "endereco 1", alunoInputModel.IdUnidade);

            _bancoContext.Professores.Add(professor);
            _bancoContext.SaveChanges();

            //USAR AUTO-MAPPER
            //INSTANCIAR UM ALUNO
            // NÃO DEIXO O ENCAPSULAMENTO DO MEU ENTIDADE/ALUNO ZUADO HEHEHEHE
            var aluno = new Aluno(alunoInputModel.Nome, alunoInputModel.Endereco,
                                  alunoInputModel.DataNascimento);

            _bancoContext.Alunos.Add(aluno);
            _bancoContext.SaveChanges();

            return(NoContent());
        }