Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }