public ActionResult AssignExercises(int id, StudentAssignExercisesViewModel viewModel) { try { foreach (var item in viewModel.UnassignedExercises) { int exerciseId = int.Parse(item); using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = $@"INSERT INTO AssignedExercise(StudentId, ExerciseId) OUTPUT INSERTED.Id VALUES(@studentId, @exerciseId); SELECT MAX(Id) FROM AssignedExercise;"; cmd.Parameters.Add(new SqlParameter("@studentId", id)); cmd.Parameters.Add(new SqlParameter("@exerciseId", exerciseId)); cmd.ExecuteNonQuery(); } } } return(RedirectToAction(nameof(Index))); } catch { return(View(viewModel)); } }
// GET: /Students/AssignExercises/1 public ActionResult AssignExercises(int id) { Student student = GetStudentById(id); if (student == null) { return(NotFound()); } StudentAssignExercisesViewModel viewModel = new StudentAssignExercisesViewModel { Student = student, ExercisesNotAssignedToStudent = GetUnassignedExercises(student.Id), AssignedExercises = GetAssignedExercises(student.Id), UnassignedExercises = null }; return(View(viewModel)); }