public ActionResult Edit(int primaryKey1, int primaryKey2, string primaryKey3, string primaryKey4 = "")
        {
            DateTime startPKDateTime;

            if (!DateTime.TryParse(primaryKey4, out startPKDateTime))
            {
                return(HttpNotFound());
            }

            CommMember commmember = db.CommMember.Find(primaryKey1, primaryKey2, primaryKey3, startPKDateTime);

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

            /*
             * ViewBag.Comm_CommOwn_ID = new SelectList(db.Comm, "CommOwn_ID", "Name", commmember.Comm_CommOwn_ID);
             * ViewBag.Representing = new SelectList(db.CommOwn, "ID", "ID", commmember.Representing);
             * ViewBag.MemberRole_Role = new SelectList(db.MemberRole, "Role", "Description", commmember.MemberRole_Role);
             * ViewBag.LastAssignedBy = new SelectList(db.SysUser, "Email", "FirstName", commmember.LastAssignedBy);
             * ViewBag.Member_Email = new SelectList(db.SysUser, "Email", "FirstName", commmember.Member_Email);
             */

            Comm comm = db.Comm.Find(primaryKey1, primaryKey2);

            ViewBag.CommName    = comm.Name;
            ViewBag.MemberRoles = new SelectList(db.MemberRole, "Role", "Role", commmember.MemberRole_Role);

            return(View(commmember));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            CommMember commmember = db.CommMember.Find(id);

            db.CommMember.Remove(commmember);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        //
        // GET: /CommMember/Delete/5

        public ActionResult Delete(int id = 0)
        {
            CommMember commmember = db.CommMember.Find(id);

            if (commmember == null)
            {
                return(HttpNotFound());
            }
            return(View(commmember));
        }
        public ActionResult Create(int primaryKey1, int primaryKey2, CommMember commmember)
        {
            ViewBag.Comm_CommOwn_ID = primaryKey1;
            ViewBag.Comm_ID         = primaryKey2;
            Comm comm = db.Comm.Find(primaryKey1, primaryKey2);

            ViewBag.CommName = comm.Name;

            //Set Variables
            commmember.Comm_CommOwn_ID  = primaryKey1;
            commmember.Comm_ID          = primaryKey2;
            commmember.LastAssignedBy   = User.Identity.Name;
            commmember.LastAssignedDate = DateTime.Now;
            commmember.StartDate        = commmember.StartDate.Date;
            commmember.EndDate          = commmember.EndDate.Date;
            commmember.Representing     = db.SysUser.Find(commmember.Member_Email).Employer_ID;
            switch (commmember.MemberRole_Role)
            {
            case "Chair":
                commmember.IsAdministrator = "Y";
                commmember.IsConvener      = "N";
                break;

            case "Co-chair":
                commmember.IsAdministrator = "Y";
                commmember.IsConvener      = "N";
                break;

            case "Convener":
                commmember.IsConvener      = "Y";
                commmember.IsAdministrator = "N";
                break;

            case "Member":
                commmember.IsAdministrator = "N";
                commmember.IsConvener      = "N";
                break;
            }

            /* TODO */
            //Determine Permissions Based on Roles

            if (ModelState.IsValid)
            {
                db.CommMember.Add(commmember);
                db.SaveChanges();
                return(RedirectToAction("Details", "Committees", new { primaryKey1 = primaryKey1, primaryKey2 = primaryKey2 }));
            }

            ViewBag.MemberRoles = new SelectList(db.MemberRole, "Role", "Role");
            //ViewBag.Representing = new SelectList(db.CommOwn, "ID", "ID");
            ViewBag.Member_Email = new SelectList(db.SysUser, "Email", "Email");
            return(View(commmember));
        }
        public ActionResult Edit(int primaryKey1, int primaryKey2, CommMember commmember)
        {
            //Set Variables
            commmember.Comm_CommOwn_ID  = primaryKey1;
            commmember.Comm_ID          = primaryKey2;
            commmember.LastAssignedBy   = User.Identity.Name;
            commmember.LastAssignedDate = DateTime.Now;
            commmember.EndDate          = commmember.EndDate.Date;

            switch (commmember.MemberRole_Role)
            {
            case "Chair":
                commmember.IsAdministrator = "Y";
                commmember.IsConvener      = "N";
                break;

            case "Co-chair":
                commmember.IsAdministrator = "Y";
                commmember.IsConvener      = "N";
                break;

            case "Convener":
                commmember.IsConvener      = "Y";
                commmember.IsAdministrator = "N";
                break;

            case "Member":
                commmember.IsAdministrator = "N";
                commmember.IsConvener      = "N";
                break;
            }

            if (ModelState.IsValid)
            {
                db.Entry(commmember).State = EntityState.Modified;

                db.SaveChanges();

                return(RedirectToAction("Details", "Committees", new { primaryKey1 = primaryKey1, primaryKey2 = primaryKey2 }));
            }

            Comm comm = db.Comm.Find(primaryKey1, primaryKey2);

            ViewBag.CommName    = comm.Name;
            ViewBag.MemberRoles = new SelectList(db.MemberRole, "Role", "Role", commmember.MemberRole_Role);

            return(View(commmember));
        }