public ActionResult Create(AssignTrainertoTopicViewModel assign) { var trainerInDb = (from tn in _context.Roles where tn.Name.Contains("Trainer") select tn).FirstOrDefault(); var trainerUser = _context.Users.Where(u => u.Roles.Select(us => us.RoleId).Contains(trainerInDb.Id)).ToList(); var topic = _context.Topics.ToList(); if (ModelState.IsValid) { var checkTrainerAndTopicExist = _context.AssignTrainertoTopics.Include(t => t.Topic).Include(t => t.Trainer) .Where(t => t.Topic.ID == assign.AssignTrainertoTopic.TopicID && t.Trainer.Id == assign.AssignTrainertoTopic.TrainerID); if (checkTrainerAndTopicExist.Count() > 0) //list ID comparison, if count == 0. jump to else { ModelState.AddModelError("", "Assign Already Exists"); } else { _context.AssignTrainertoTopics.Add(assign.AssignTrainertoTopic); _context.SaveChanges(); return(RedirectToAction("Index")); } } AssignTrainertoTopicViewModel trainertopicVM = new AssignTrainertoTopicViewModel() { Topics = topic, Trainers = trainerUser, AssignTrainertoTopic = assign.AssignTrainertoTopic }; return(View(trainertopicVM)); }
public ActionResult Create() { var trainerInDb = (from tn in _context.Roles where tn.Name.Contains("Trainer") select tn).FirstOrDefault(); var trainerUser = _context.Users.Where(x => x.Roles.Select(y => y.RoleId).Contains(trainerInDb.Id)).ToList(); var topics = _context.Topics.ToList(); var viewModel = new AssignTrainertoTopicViewModel { Topics = topics, Trainers = trainerUser, AssignTrainertoTopic = new AssignTrainertoTopic() }; return(View(viewModel)); }