public IActionResult CreateEscola([FromBody] EscolaForCreationDto escola) { if (escola == null) { return(BadRequest()); } var escolaEntity = Mapper.Map <Escola>(escola); _elevaRepository.AddEscola(escolaEntity); if (!_elevaRepository.Save()) { throw new Exception("Criar uma escola falhou ao salvar"); } var escolaToReturn = Mapper.Map <EscolaDto>(escolaEntity); return(CreatedAtRoute("GetEscola", new { id = escolaToReturn.Id }, escolaToReturn)); }
public IActionResult CreateTurmaForEscola(Guid escolaId, [FromBody] TurmaForCreationDto turma) { if (turma == null) { return(BadRequest()); } if (turma.Etapa != "Ensino Médio" && turma.Etapa != "Ensino Fundamental") { ModelState.AddModelError(nameof(TurmaForCreationDto), "A etapa não está correta"); } if (!ModelState.IsValid) { // return 422 return(new UnprocessableEntityObjectResult(ModelState)); } if (!_elevaRepository.EscolaExists(escolaId)) { return(NotFound()); } var turmaEntity = Mapper.Map <Turma>(turma); _elevaRepository.AddTurmaForEscola(escolaId, turmaEntity); if (!_elevaRepository.Save()) { throw new Exception($"Creating a turma for escola {escolaId} failed on save."); } var turmaToReturn = Mapper.Map <TurmaDto>(turmaEntity); return(CreatedAtRoute("GetTurmaForEscola", new { escolaId = escolaId, id = turmaToReturn.Id }, turmaToReturn)); }