protected void InitDDLShow(vRole vrole, string action) { InitDDL("RoleList", vrole, action); InitDDL("CERLMenuList", vrole, action); InitDDL("TestItemList", vrole, action); int RoleId = 0; int menuId = 0; RoleId = (vrole != null ? vrole.RoleId : -1); menuId = (vrole != null ? int.Parse(vrole.menuId.ToString()) : -1); IQueryable <vUserRole> vuserrole = db.vUserRole.Where(x => x.RoleId == RoleId).Take(100); //列出此角色下的人員 if (Session["QryBadgeCode"] != null) { string BadgeCode = (string)Session["QryBadgeCode"]; vuserrole = db.vUserRole.Where(x => x.RoleId == RoleId && x.BadgeCode.Contains(BadgeCode)).Take(100); //列出此角色下的人員 Session["QryBadgeCode"] = null; } IQueryable <vRoleMenu> vrolemenu = db.vRoleMenu.Where(x => x.RoleId == RoleId); //列出此角色下使用中的目錄 ViewData["RoleId"] = RoleId; ViewData["menuId"] = menuId; ViewData["vuserrole"] = vuserrole; ViewData["vrolemenu"] = vrolemenu; }
// // GET: /mRole/Delete/5 public ActionResult Delete(int id = 0) { vRole vrole = db.vRole.Find(id); if (vrole == null) { return(HttpNotFound()); } return(View(vrole)); }
// // GET: /mRole/Edit/5 public ActionResult Edit(int id = 0) { vRole vrole = db.vRole.Find(id); if (vrole == null) { return(HttpNotFound()); } InitDDLShow(vrole, "Edit"); return(View(vrole)); }
public ActionResult Edit(mRole mrole) { if (ModelState.IsValid) { db.Entry(mrole).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } vRole vrole = db.vRole.Find(mrole.id); return(View(vrole)); }
protected void InitDDL(string ddlName, vRole vrole, string Type) { int RoleId = 0; int menuId = 0; RoleId = (vrole != null ? vrole.RoleId : -1); menuId = (vrole != null ? int.Parse(vrole.menuId.ToString()) : -1); string[] RoleArray = { "RoleList" }; string[] CERLMenuArray = { "CERLMenuList" }; string[] TestItemArray = { "TestItemList" }; var initlist = Enumerable.Empty <object>().Select(r => new { Id = 0, Name = "" }).ToList(); if (RoleArray.Contains(ddlName)) { initlist = db.mRoles.Select(x => new { Id = x.RoleId, Name = x.RoleName }).ToList(); } if (CERLMenuArray.Contains(ddlName)) { var existslist = edb.FnRoleMenuFunction(RoleId).Select(x => x.menuId).ToList(); initlist = edb.FnCERLMenuDropDownList("0").Where(x => !existslist.Contains(x.Id)).ToList().Select(x => new { Id = int.Parse(x.Id.ToString()), Name = x.Name }).ToList(); //initlist = db.CERLMenu.Where(x=>!existslist.Contains(x.menuId)).Select(x => new { Id = x.menuId, Name = x.menuText }).ToList(); } if (TestItemArray.Contains(ddlName)) { initlist = edb.FnTestItemMenuDropDownList("0").Where(x => x.lvl == 1).ToList().Select(x => new { Id = int.Parse(x.Id.ToString()), Name = x.Name }).ToList(); //initlist = db.CERLMenu.Where(x=>!existslist.Contains(x.menuId)).Select(x => new { Id = x.menuId, Name = x.menuText }).ToList(); } List <SelectListItem> initList = new List <SelectListItem>(); if (!(Type == null || Type.Trim().Length == 0)) { initList.Add(new SelectListItem() { Text = "", Value = "" }); } string selectedvalue = ""; if (vrole != null) { switch (ddlName) { case "RoleList": selectedvalue = RoleId.ToString(); break; case "TestItemList": selectedvalue = vrole.menuId.ToString(); break; default: break; } } foreach (var item in initlist) { initList.Add(new SelectListItem() { Text = item.Name, Value = item.Id.ToString(), Selected = (item.Id.ToString() == selectedvalue) }); } SelectList cList = new SelectList(initList, "Value", "Text"); ViewData[ddlName] = cList; Session[ddlName] = cList; }