public IActionResult Put(Guid id, [FromBody] ProfessoresAlunosTurma professoresAlunosTurma) { try { _turmaRepository.Editar(id, professoresAlunosTurma); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message + ". Envie um email para a nossa equipe de suporte: [email protected]")); } }
public void Editar(Guid id, ProfessoresAlunosTurma professoresAlunosTurma) { try { Turma turmaAlterar = BuscarPorId(id); if (turmaAlterar == null) { throw new Exception("Impossível alterar Turma pois faltam dados."); } //ANTES DE ADICIONAR OS NOVOS OBJETOS PRIMEIRO REMOVEMOS OS JÁ EXISTENTES /*turmaAlterar.ProfessoresTurmas.Clear(); * turmaAlterar.AlunosTurmas.Clear(); * * turmaAlterar.AlunosTurmas.AddRange(professoresAlunosTurma.alunos); * turmaAlterar.ProfessoresTurmas.AddRange(professoresAlunosTurma.professores);*/ /*foreach (ProfessorTurma item in professoresAlunosTurma.professores) * { * turmaAlterar.ProfessoresTurmas.Add(new ProfessorTurma * { * Descricao = item.Descricao, * IdUsuario = item.IdUsuario, * IdTurma = turmaAlterar.Id * }); * }*/ /*foreach (AlunoTurma item in professoresAlunosTurma.alunos) * { * turmaAlterar.AlunosTurmas.Add(new AlunoTurma * { * Matricula = Guid.NewGuid().ToString(), * IdUsuario = item.IdUsuario, * IdTurma = turmaAlterar.Id * }); * }*/ turmaAlterar.IdCurso = professoresAlunosTurma.turma.IdCurso; turmaAlterar.Descricao = professoresAlunosTurma.turma.Descricao; _ctx.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } }
public IActionResult Post([FromBody] ProfessoresAlunosTurma professoresAlunosTurma) { try { //NOVO APRENDIZADO //Aqui eu fiz uma classe para juntar todos os alunos, professores e a turma, mas não precisava, era só criar a turma no front, e como cada turma tem uma lista de professoresTurmas e alunosTurmas, era só ir colocando os idUsuarios e os idTurmas pra cada lista dessas. Assim, quando eu adicionasse a turma aqui, o EF Core já ia cadastrar todos os alunosTurmas e professoresTurmas automaticamente. E quando vc busca por exemplo uma turma com include AlunoTurma, vai aparecer a turma, com uma lista de alunosTurmas q incluem, no idTurma do AlunoTurma, o id da turma q vc buscou. _turmaRepository.Adicionar(professoresAlunosTurma); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message + ". Envie um email para a nossa equipe de suporte: [email protected]")); } }
public void Adicionar(ProfessoresAlunosTurma professoresAlunosTurma) { try { Turma turmaJuntar = new Turma(); foreach (ProfessorTurma item in professoresAlunosTurma.professores) { turmaJuntar.ProfessoresTurmas.Add(new ProfessorTurma { Descricao = item.Descricao, IdUsuario = item.IdUsuario, IdTurma = turmaJuntar.Id }); } foreach (AlunoTurma item in professoresAlunosTurma.alunos) { turmaJuntar.AlunosTurmas.Add(new AlunoTurma { Matricula = Guid.NewGuid().ToString(), IdUsuario = item.IdUsuario, IdTurma = turmaJuntar.Id }); } turmaJuntar.Descricao = professoresAlunosTurma.turma.Descricao; turmaJuntar.Curso = professoresAlunosTurma.turma.Curso; turmaJuntar.IdCurso = professoresAlunosTurma.turma.IdCurso; _ctx.Turmas.Add(turmaJuntar); _ctx.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } }