public ActionResult New()
        {
            var site      = _context.Site.ToList();
            var viewModel = new StaffMemberFormViewModel
            {
                StaffMember = new StaffMember(),
                Site        = site
            };

            return(View("StaffMemberForm", viewModel));
        }
        public ActionResult Edit(int id)
        {
            var staffmember = _context.StaffMember.SingleOrDefault(s => s.Id == id); //if the staff member exists in the DB it will be returned, otherwise null

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

            var viewModel = new StaffMemberFormViewModel
            {
                StaffMember = staffmember,
                Site        = _context.Site.ToList()
            };


            return(View("StaffMemberForm", viewModel)); //need to specify name otherwise MVC will look for 'edit'
        }
        public ActionResult Save(StaffMember staffmember)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new StaffMemberFormViewModel
                {
                    StaffMember = staffmember,
                    Site        = _context.Site.ToList()
                };

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

            if (staffmember.Id == 0)
            {
                _context.StaffMember.Add(staffmember);
            }
            else
            {
                var staffmemberInDb = _context.StaffMember.Single(w => w.Id == staffmember.Id);
                staffmemberInDb.Name = staffmember.Name;
                staffmemberInDb.Site = staffmember.Site;
            }


            try
            {
                _context.SaveChanges();
            }


            catch (DbEntityValidationException e)
            {
                Console.WriteLine(e);
            }

            return(RedirectToAction("Index", "StaffMembers"));
        }