public ActionResult RemoveTrainee(TraineePostData data) { var courseInDb = _context.Courses.SingleOrDefault(p => p.Id == data.courseId); var traineeInfoInDb = _context.UserInfoes .OfType <TraineeInfo>() .Include("Courses") .Include("User") .SingleOrDefault(p => p.UserId == data.userId); if (courseInDb == null || traineeInfoInDb == null) { return(HttpNotFound()); } if (traineeInfoInDb.Courses.SingleOrDefault(p => p.Id == courseInDb.Id) != null) { traineeInfoInDb.Courses.Remove(courseInDb); _context.SaveChanges(); this.AddNotification("Trainee removed!", NotificationType.SUCCESS); } else { this.AddNotification("Trainee not found", NotificationType.ERROR); } return(RedirectToAction("Details/" + data.courseId)); }
public ActionResult AddTrainee(TraineePostData data) { var courseInDb = _context.Courses.SingleOrDefault(p => p.Id == data.courseId); var traineeInfoInDb = _context.UserInfoes .OfType <TraineeInfo>() .Include("Courses") .Include("User") .SingleOrDefault(p => p.UserId == data.userId); if (courseInDb == null || traineeInfoInDb == null) { return(HttpNotFound()); } if (traineeInfoInDb.Courses.SingleOrDefault(p => p.Id == courseInDb.Id) != null) { this.AddNotification(String.Format("{0} is already added to {1}", traineeInfoInDb.User.UserName, courseInDb.Name), NotificationType.INFO); } else { traineeInfoInDb.Courses.Add(courseInDb); _context.SaveChanges(); this.AddNotification("Trainee added!", NotificationType.SUCCESS); } return(RedirectToAction("Details/" + data.courseId)); }