public ActionResult RemoveTrainer(TrainerPostData data) { var topicInDb = _context.Topics.SingleOrDefault(p => p.Id == data.topicId); var trainerInDb = _context.UserInfoes .OfType <TrainerInfo>() .Include("Topics") .SingleOrDefault(p => p.UserId == data.userId); if (topicInDb == null || trainerInDb == null) { return(HttpNotFound()); } if (trainerInDb.Topics.SingleOrDefault(p => p.Id == topicInDb.Id) != null) { trainerInDb.Topics.Remove(topicInDb); _context.SaveChanges(); this.AddNotification("Trainer removed!", NotificationType.SUCCESS); } else { this.AddNotification("Trainer not found", NotificationType.ERROR); } return(RedirectToAction("Details/" + data.topicId)); }
public ActionResult AddTrainer(TrainerPostData data) { var topicInDb = _context.Topics.SingleOrDefault(p => p.Id == data.topicId); var trainerInDb = _context.UserInfoes .OfType <TrainerInfo>() .Include("Topics") .Include("User") .SingleOrDefault(p => p.UserId == data.userId); if (topicInDb == null || trainerInDb == null) { return(HttpNotFound()); } if (trainerInDb.Topics.SingleOrDefault(p => p.Id == topicInDb.Id) != null) { this.AddNotification(String.Format("{0} is already added to {1}", trainerInDb.User.UserName, topicInDb.Name), NotificationType.INFO); } else { trainerInDb.Topics.Add(topicInDb); _context.SaveChanges(); this.AddNotification("Trainee added!", NotificationType.SUCCESS); } return(RedirectToAction("Details/" + data.topicId)); }