public ActionResult Create(CourseCreationViewModel courseCreationViewModel) { if (ModelState.IsValid) { var course = courseCreationViewModel.Course; course.Teacher = db.Users.Find(courseCreationViewModel.SelectedTeacherId); db.Courses.Add(course); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(courseCreationViewModel)); }
public ActionResult Edit(CourseCreationViewModel courseCreationViewModel) { if (ModelState.IsValid) { var course = courseCreationViewModel.Course; course.Teacher = db.Users.Find(courseCreationViewModel.SelectedTeacherId); var entity = db.Courses.Include(x => x.Teacher).FirstOrDefault(x => x.Id == course.Id); db.Entry(entity).CurrentValues.SetValues(course); entity.Teacher = course.Teacher; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(courseCreationViewModel)); }
private async Task <CourseCreationViewModel> PrepareCourseCreationViewModel(Course course = null) { CourseCreationViewModel courseCreationViewModel = new CourseCreationViewModel(); var teacherRole = await RoleManager.FindByNameAsync("Teacher"); var teachers = UserManager.Users.Where(x => x.Roles.Any(y => y.RoleId == teacherRole.Id)).ToList(); List <SelectListItem> selectListItems = new List <SelectListItem>(); foreach (var elem in teachers) { selectListItems.Add(new SelectListItem() { Text = elem.LastName, Value = elem.Id }); } courseCreationViewModel.Teachers = selectListItems; if (course != null) { courseCreationViewModel.Course = course; courseCreationViewModel.SelectedTeacherId = course.Teacher?.Id; } return(courseCreationViewModel); }