public ActionResult Edit(RoleView rolevView) { if (ModelState.IsValid) { tbRole role = db.tbRole.Find(rolevView.Role_ID); role.Role_Name = rolevView.Role_Name; role.Is_Delete = rolevView.Is_Delete; role.Is_Hide = rolevView.Is_Hide; db.Entry(role).State = EntityState.Modified; var query = from s in db.tbRoleMenu where s.Role_ID == role.Role_ID select s; foreach (tbRoleMenu m in query.ToList()) { db.tbRoleMenu.Remove(m); } foreach (string s in rolevView.Menu_Name) { tbRoleMenu roleMenu = new tbRoleMenu(); roleMenu.Role_ID = role.Role_ID; roleMenu.Menu_Name = s; db.tbRoleMenu.Add(roleMenu); } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(rolevView)); }
public static void SetParentNode(AchieveDBEntities myDbContext, int MenuId, int roleId, List <int> addlist) { tbMenu temp = myDbContext.tbMenu.Where(p => p.Id == MenuId).FirstOrDefault(); if (temp != null) { int DataCount = myDbContext.tbRoleMenu.Where(p => p.MenuId == MenuId && p.RoleId == roleId).Count <tbRoleMenu>(); int addCount = 1; if (addlist != null) { foreach (int st in addlist) { if (MenuId == st) { addCount = 0; break; } } } if (DataCount <= 0 && addCount == 1) { tbRoleMenu tbnew = new tbRoleMenu() { MenuId = MenuId, RoleId = roleId }; myDbContext.tbRoleMenu.Add(tbnew); addlist.Add(MenuId); if (temp.ParentId == null) { } else { SetParentNode(myDbContext, Convert.ToInt32(temp.ParentId), roleId, addlist); } } } }
public ActionResult Create(RoleView rolevView) { if (ModelState.IsValid) { tbRole role = new tbRole(); role.Role_Name = rolevView.Role_Name; role.Is_Delete = rolevView.Is_Delete; role.Is_Hide = rolevView.Is_Hide; db.tbRole.Add(role); foreach (string s in rolevView.Menu_Name) { tbRoleMenu roleMenu = new tbRoleMenu(); roleMenu.Role_ID = role.Role_ID; roleMenu.Menu_Name = s; db.tbRoleMenu.Add(roleMenu); } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(rolevView)); }
public static string SetButtonByMenuIdRoleId(int menuId, int roleId, string buttonStr) { string str = string.Empty; try { string[] list = buttonStr.Split(','); AchieveDBEntities myDbContext = new AchieveDBEntities(); List <tbRoleMenuButton> tblist = myDbContext.tbRoleMenuButton.Where(p => p.MenuId == menuId && p.RoleId == roleId).ToList(); foreach (tbRoleMenuButton st in tblist) { bool findbj = false; if (list.Length > 0) { foreach (string st1 in list) { if (st.Id.ToString() == st1) { findbj = true; break; } } } if (!findbj) { myDbContext.tbRoleMenuButton.Remove(st); } } if (list.Length > 0) { foreach (string st1 in list) { if (string.IsNullOrEmpty(st1)) { continue; } bool findbj = false; foreach (tbRoleMenuButton st in tblist) { if (st.Id.ToString() == st1) { findbj = true; break; } } if (!findbj) { tbRoleMenuButton newtb = new tbRoleMenuButton() { ButtonId = Convert.ToInt32(st1), MenuId = menuId, RoleId = roleId }; myDbContext.tbRoleMenuButton.Add(newtb); } } } int DataCount = myDbContext.tbRoleMenu.Where(p => p.MenuId == menuId && p.RoleId == roleId).Count <tbRoleMenu>(); if (DataCount <= 0) { tbRoleMenu temp = new tbRoleMenu() { MenuId = menuId, RoleId = roleId }; myDbContext.tbRoleMenu.Add(temp); } myDbContext.SaveChanges(); str = ResponseHelper.ResponseMsg("1", "更新成功", ""); } catch (Exception ex) { str = ResponseHelper.ResponseMsg("-1", ex.Message, ""); } return(str); }