private void UpdateScheduleRoles(string[] selectedRoles, SchedType ScheduleToUpdate) { if (selectedRoles == null) { ScheduleToUpdate.RoleLists = new List <RoleList>(); return; } var selectedRolesHS = new HashSet <string>(selectedRoles); var scheduleRoles = new HashSet <int>(ScheduleToUpdate.RoleLists.Select(c => c.ID)); foreach (var rls in db.RoleLists) { if (selectedRolesHS.Contains(rls.ID.ToString())) { if (!scheduleRoles.Contains(rls.ID)) { ScheduleToUpdate.RoleLists.Add(rls); } } else { if (scheduleRoles.Contains(rls.ID)) { ScheduleToUpdate.RoleLists.Remove(rls); } } } }
public ActionResult Create() { SchedType schdTyp = new SchedType(); schdTyp.RoleLists = new List <RoleList>(); PopulateAssignedRoles(schdTyp); return(View()); }
public ActionResult Index() { SchedType schdTyp = new SchedType(); schdTyp.RoleLists = new List <RoleList>(); PopulateAssignedRoles(schdTyp); return(View(db.SchedTypes.ToList())); }
public ActionResult DeleteConfirmed(int id) { SchedType schedType = db.SchedTypes.Find(id); db.SchedTypes.Remove(schedType); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SchedType schedType = db.SchedTypes.Find(id); if (schedType == null) { return(HttpNotFound()); } return(View(schedType)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SchedType schedType = db.SchedTypes.Find(id); if (schedType == null) { return(HttpNotFound()); } PopulateAssignedRoles(schedType); return(View(schedType)); }
public void PopulateAssignedRoles(SchedType schedule) { var allRole = db.RoleLists; var aRoles = new HashSet <int>(schedule.RoleLists.Select(r => r.ID)); var viewModel = new List <RoleVM>(); foreach (var roll in allRole) { viewModel.Add(new RoleVM { RoleID = roll.ID, RoleName = roll.RoleName, RoleAssigned = aRoles.Contains(roll.ID) }); } ViewBag.RolesLists = viewModel; }
public ActionResult Create([Bind(Include = "ID,SchedTypeName")] string[] selectedRoles, SchedType schedType) { try { if (selectedRoles != null) { schedType.RoleLists = new List <RoleList>(); foreach (var role in selectedRoles) { var roleToAdd = db.RoleLists.Find(int.Parse(role)); schedType.RoleLists.Add(roleToAdd); PopulateAssignedRoles(schedType); } } if (ModelState.IsValid) { db.SchedTypes.Add(schedType); db.SaveChanges(); return(RedirectToAction("Index")); } } catch (DataException) { ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator."); } return(View(schedType)); }