public ActionResult Save(Attendee attendee)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new AttendeeFormViewModel
                {
                    Attendee = attendee,
                    Roles    = _context.Roles
                };

                return(View("AttendeeForm", viewModel));
            }

            if (attendee.Id == 0)
            {
                _context.Attendees.Add(attendee);
            }
            else
            {
                var attendeeInDb = _context.Attendees.SingleOrDefault(a => a.Id == attendee.Id);

                attendeeInDb.FirstName   = attendee.FirstName;
                attendeeInDb.LastName    = attendee.LastName;
                attendeeInDb.Email       = attendee.Email;
                attendeeInDb.PhoneNumber = attendee.PhoneNumber;
                attendeeInDb.RoleId      = attendee.RoleId;
            }
            _context.SaveChanges();

            return(RedirectToAction("Index", "Attendees"));
        }
        // Returns a view of an uninstantiated customer
        public ActionResult New()
        {
            var roles     = _context.Roles.ToList();
            var viewModel = new AttendeeFormViewModel
            {
                Attendee = new Attendee(),
                Roles    = roles
            };

            return(View("AttendeeForm", viewModel));
        }
        // Returns a form that allows a user to edit an attendee's details
        public ActionResult Edit(int id)
        {
            var attendee = _context.Attendees.SingleOrDefault(a => a.Id == id);

            if (attendee == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new AttendeeFormViewModel
            {
                Attendee = attendee,
                Roles    = _context.Roles.ToList()
            };

            return(View("AttendeeForm", viewModel));
        }