public IActionResult RealizarInscricao(string alunoId, [FromBody] Inscricao novaInscricao) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var aluno = _alunosRepositorio.Recuperar(alunoId); if (aluno == null) { return(NotFound("Aluno inválido")); } var turma = _turmasRepositorio.Recuperar(novaInscricao.TurmaId); if (turma == null) { return(BadRequest("Turma informada é inválida")); } if (turma.TotalInscritos + 1 > turma.LimiteAlunos) { return(BadRequest("Não existe mais vagas para a turma")); } #region suposicoes // Validar se aluno tem idade suficiente para a turma desejada // Validar se aluno está adimplente // Turma deve estar aberta // Após gerar inscrição gerar mensallidades conforme regra da turma // Enviar email de boas vindas #endregion novaInscricao.AlunoId = alunoId; novaInscricao.InscritoEm = DateTime.Now; _inscricoesRepositorio.Nova(novaInscricao); return(CreatedAtAction(nameof(RecuperarInscricao), new { alunoId, novaInscricao.Id }, novaInscricao)); } catch (Exception e) { return(StatusCode(500, new { error = e.Message })); } }
public IActionResult Recuperar(string id) { try { var turma = _turmasRepositorio.Recuperar(id); if (turma == null) { return(NotFound("Nenhuma turma com o id desejado")); } return(Ok(turma)); } catch (Exception e) { return(StatusCode(500, new { error = e.Message })); } }