public async Task <IActionResult> Edit(TeacherCourseDto course) { if (ModelState.IsValid) { var teacherId = userManager.GetUserId(User); await teacherCourseService.UpdateAsync(teacherId, course); return(RedirectToAction(nameof(Index))); } return(View(course)); }
// Update Model by Id public async Task <bool> UpdateAsync(string teacherId, TeacherCourseDto courseDto) { if (courseDto == null) { return(false); } var dbCourse = db.Courses.Find(courseDto.Id); if (dbCourse == null) { return(false); } // The teacher can only edit his courses var TeacherForCourse = db.TeacherCourses.Find(teacherId, dbCourse.Id); if (TeacherForCourse == null) { return(false); } try { dbCourse.Name = courseDto.Name; dbCourse.Description = courseDto.Description; db.Courses.Update(dbCourse); var result = await db.SaveChangesAsync(); if (result <= 0) { return(false); } } catch (DbUpdateConcurrencyException) { if (!CourseExists(courseDto.Id)) { return(false); } else { throw; } } return(true); }