public ActionResult Create() { var model = new CreateUpcomingMeetingViewModel(); model.AllUsers = db.Users.ToList(); //ViewBag.AllUsers = new SelectList(db.Users.ToList(), "Id", "Email"); ViewBag.InvitedUsers = new List <SelectListItem>(); return(View(model)); }
public ActionResult Create(CreateUpcomingMeetingViewModel model, List <string> invitedUsers) { // Check if the time options are the same time. var options = new List <DateTime?> { model.Option1, model.Option2, model.Option3 }; for (int i = 0; i < options.Count; i++) { if ((i + 1) != options.Count) { if (options[i] == options[i + 1] && options[i] != null && options[i + 1] != null) { if (ModelState.ContainsKey("Option3")) { ModelState["Option3"].Errors.Clear(); ModelState.AddModelError("Option3", "All option times need to be different."); } } } } if (ModelState.IsValid) { var newMeeting = new UpcomingMeeting() { Author = db.Users.Find(User.Identity.GetUserId()), Description = model.Description, Duration = model.Duration, Option1 = model.Option1, Option2 = model.Option2, Option3 = model.Option3 }; db.UpcomingMeetings.Add(newMeeting); foreach (var id in invitedUsers) { var user = db.Users.Find(id); var attendee = new UsersUpcomingMeetings() { UserId = user, MeetingId = newMeeting }; db.UsersUpcomingMeetings.Add(attendee); } db.SaveChanges(); return(RedirectToAction("MeetingInvites")); } ViewBag.InvitedUsers = new List <SelectListItem>(); return(View(model)); }