public ActionResult VincularAlunosGrupo() { var keys = Request.Form.AllKeys; int idGrupo = Convert.ToInt32(Request.Form["idGrupo"]); var alunos = Request.Form["alunos[]"].Split(','); MInscricaoTurma mInscricaoTurma = new MInscricaoTurma(); List <InscricaoTurma> listInscricaoTurma = new List <InscricaoTurma>(); foreach (var aluno in alunos) { int idInscricaoTurma = Convert.ToInt32(aluno); listInscricaoTurma.Add(mInscricaoTurma.BringOne(c => c.idInscricaoTurma == idInscricaoTurma)); } MGrupo mGrupo = new MGrupo(); Grupo grupo = mGrupo.BringOne(c => c.idGrupo == idGrupo); int[] idsAlunosRemover = grupo.InscricaoTurma.Where(c => !listInscricaoTurma.Exists(x => x.idInscricaoTurma == c.idInscricaoTurma)).Select(c => c.idInscricaoTurma).ToArray(); List <InscricaoTurma> listAlunosRemover = new List <InscricaoTurma>(); foreach (var aluno in idsAlunosRemover) { int idInscricaoTurma = Convert.ToInt32(aluno); InscricaoTurma alunoRemover = mInscricaoTurma.BringOne(c => c.idInscricaoTurma == idInscricaoTurma); listAlunosRemover.Add(alunoRemover); } listInscricaoTurma = listInscricaoTurma.Where(c => !grupo.InscricaoTurma.ToList().Exists(x => x.idInscricaoTurma == c.idInscricaoTurma)).ToList(); List <InscricaoTurma> listAlunosVinculados = grupo.InscricaoTurma.ToList(); mGrupo.DesvincularAlunoGrupo(grupo.idGrupo, listAlunosRemover.Select(c => c.idInscricaoTurma).ToArray()); mGrupo.AdicionarAlunoGrupo(grupo.idGrupo, listInscricaoTurma.Select(c => c.idInscricaoTurma).ToArray()); return(RedirectToAction("GerenciarGrupos", new { idMed = grupo.idMed })); }
public ActionResult RemoverAlunosTurma(int idAluno, int idTurma) { MInscricaoTurma mIncricaoTurma = new MInscricaoTurma(); mIncricaoTurma.Delete(mIncricaoTurma.BringOne(c => (c.idAluno == idAluno) && (c.idTurma == idTurma))); return(AdicionarAlunosTurma(idTurma)); }