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 })); } }
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()))); }
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 })); }
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 })); } }
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()); }