public PartialViewResult EditRole(int roleID) { IEnumerable <Department> dpts = db.Department.ToList(); List <SelectListItem> sli = new List <SelectListItem>(); foreach (Department dpt in dpts) { sli.Add(new SelectListItem { Value = dpt.departmentID.ToString(), Text = dpt.departmentName }); } IEnumerable <uRoles> urss = db.uRoles.ToList(); List <SelectListItem> ursli = new List <SelectListItem>(); foreach (uRoles urs in urss) { ursli.Add(new SelectListItem { Value = urs.uRoleID.ToString(), Text = urs.uRoleName }); } uRoles uRole = db.uRoles.Find(roleID); RoleEdit roleEdit = new RoleEdit { departments = sli, uRoles = uRole, roleID = roleID, supervisors = ursli }; return(PartialView(roleEdit)); }
public JsonResult ECGetRolesList(int roleID = -1, int options = -1) { IEnumerable <uRoles> result = db.uRoles.ToList(); IEnumerable <uRoles> uRoleO = db.uRoles.ToList(); if (roleID != -1 && options != -1) { uRoles rfilter = db.uRoles.Where(n => n.uRoleID == roleID).FirstOrDefault(); switch (options) { case 1: result = result.Where(n => n.uRoleID == rfilter.supervisorID); break; case 2: List <uRoles> rList = new List <uRoles>(); if (rfilter != null) { if (rfilter.supervisorID.HasValue) { RoleMethod rolem = new RoleMethod(); rList = rolem.allSupervisorID(rfilter.supervisorID.Value, rList); } } result = rList; break; default: break; } } IEnumerable <uRolesWithDpmtSurName> result2 = from urli in result join d in db.Department on urli.departmentID equals d.departmentID orderby d.departmentName select new uRolesWithDpmtSurName { uRoles = urli, Department = d.departmentName }; List <uRolesWithDpmtSurName> result2li = new List <uRolesWithDpmtSurName>(); foreach (var rff in result2) { if (rff.uRoles.supervisorID.HasValue) { rff.uRoleSurName = uRoleO.Where(n => n.uRoleID == rff.uRoles.supervisorID.Value).Select(n => n.uRoleName).FirstOrDefault(); } else { rff.uRoleSurName = "無"; } result2li.Add(rff); } return(Json(result2li, JsonRequestBehavior.AllowGet)); }
public PartialViewResult NewRole(RoleEdit model) { if (!ModelState.IsValid) { return(PartialView(model)); } uRoles uRoles = new uRoles { uRoleName = model.uRoles.uRoleName, uRoleDescription = model.uRoles.uRoleDescription, uRoleNums = model.uRoles.uRoleNums, departmentID = model.uRoles.departmentID, registedDate = DateTime.Now }; dbuRoles.Create(uRoles); ViewBag.StatusMessage = "新增角色成功。"; IEnumerable <Department> dpts = db.Department.ToList(); List <SelectListItem> sli = new List <SelectListItem>(); foreach (Department dpt in dpts) { sli.Add(new SelectListItem { Value = dpt.departmentID.ToString(), Text = dpt.departmentName }); } RoleEdit roleEdit = new RoleEdit { departments = sli, autoClearNewRole = model.autoClearNewRole }; return(PartialView(roleEdit)); }
public PartialViewResult EditRole(RoleEdit model) { if (!ModelState.IsValid) { return(PartialView(model)); } int hadUser = db.uRoleUsers.Where(n => n.uRoleID == model.roleID).Count(); if (hadUser <= model.uRoles.uRoleNums) { bool checkDeathLoop = false; int? csID = model.uRoles.supervisorID; List <int> csIDList = new List <int>(); csIDList.Add(model.roleID); while (!checkDeathLoop) { if (!csID.HasValue) { break; } else { if (csIDList.Contains(csID.Value)) { checkDeathLoop = true; } else { csIDList.Add(csID.Value); csID = db.uRoles.Where(n => n.uRoleID == csID).Select(n => n.supervisorID).FirstOrDefault(); } } } if (!checkDeathLoop) { uRoles ur = db.uRoles.Where(n => n.uRoleID == model.roleID).FirstOrDefault(); if (ur != null) { ur.uRoleName = model.uRoles.uRoleName; ur.uRoleDescription = model.uRoles.uRoleDescription; ur.uRoleNums = model.uRoles.uRoleNums; ur.departmentID = model.uRoles.departmentID; ur.supervisorID = model.uRoles.supervisorID; dbuRoles.Update(ur); ViewBag.StatusMessage = "編輯角色成功。"; } else { ViewBag.StatusMessage = "編輯角色失敗。"; } //uRoles uRoles = new uRoles //{ // uRoleID = model.roleID, // uRoleName = model.uRoles.uRoleName, // uRoleDescription = model.uRoles.uRoleDescription, // uRoleNums = model.uRoles.uRoleNums, // departmentID = model.uRoles.departmentID, // supervisorID = model.uRoles.supervisorID //}; } else { ViewBag.StatusMessage = "產生循環主管階層,請重新設定。"; } } else { ViewBag.StatusMessage = "已有使用者人數超過角色人數,請先減少使用者人數。"; } IEnumerable <Department> dpts = db.Department.ToList(); List <SelectListItem> sli = new List <SelectListItem>(); foreach (Department dpt in dpts) { sli.Add(new SelectListItem { Value = dpt.departmentID.ToString(), Text = dpt.departmentName }); } IEnumerable <uRoles> urss = db.uRoles.ToList(); List <SelectListItem> ursli = new List <SelectListItem>(); foreach (uRoles urs in urss) { ursli.Add(new SelectListItem { Value = urs.uRoleID.ToString(), Text = urs.uRoleName }); } RoleEdit roleEdit = new RoleEdit { departments = sli, autoClearNewRole = model.autoClearNewRole, supervisors = ursli }; return(PartialView(roleEdit)); }