/// <summary> /// 取得一筆角色檔 /// </summary> /// <param name="roleID"></param> /// <returns></returns> public RoleSaveDataModel GetRoleByID(int roleID) { RoleSaveDataModel roleData = this.PorDB.PTRole.Where(o => o.ID == roleID) .Select(s => new RoleSaveDataModel() { ID = s.ID, Name = s.ROLE_NM, Code = s.ROLE_CD, Description = s.ROLE_DESC, IsDelete = (bool)s.DEL_FG }) .FirstOrDefault(); if (roleData != null) { List <string> menuIDs = this.PorDB.PTRoleMenuMap .Where(o => o.MAP_ROLEID == roleID) .OrderBy(s => s.ID) .Select(i => i.MAP_MUID) .ToList(); MenuModule muModule = new MenuModule(); List <MenuDataModel> menuData = muModule.GetMenuData(); roleData.AgreeMenuCodeList = menuData.Where(o => menuIDs.Contains(o.MenuID)).OrderBy(e => e.MenuID).Select(s => s.MenuID).ToArray(); roleData.RefuseMenuCodeList = menuData.Where(o => !menuIDs.Contains(o.MenuID)).OrderBy(e => e.MenuID).Select(s => s.MenuID).ToArray(); } return(roleData); }
public ActionResult RoleEdit(int?roleID) { if (roleID == null) { throw new Exception("無效的角色ID"); } RoleSaveDataModel model = this.Repository.GetRoleByID((int)roleID); if (model == null) { throw new Exception("找不到ID為:" + roleID + "的角色."); } MenuModule muModule = new MenuModule(); var muList = muModule.GetMenuData(); ViewBag.MenuList = muList; return(View(model)); }