public ActionResult EditRoleRightsLevel2(int RoleID) { List <RolesRights> SerchAdd = new List <Models.Keystone.RolesRights>(); List <RolesRights> objSearch = new List <Models.Keystone.RolesRights>(); BL_RolesRights BLobj = new BL_RolesRights(); RolesRights obj = new RolesRights(); if (RoleID > 0) { obj.GetRights = RolesRights.GetRoleAndRightsByRoleID(RoleID); obj.RoleID = obj.GetRights.Tables[0].Rows[0]["RoleID"].ToString(); obj.RoleName = obj.GetRights.Tables[0].Rows[0]["RoleName"].ToString(); foreach (DataRow dr in obj.GetRights.Tables[0].Rows) { SerchAdd.Add(new RolesRights { ModuleIDchk = Convert.ToInt32(dr["ModuleIDchk"]), ModuleID = Convert.ToInt32(dr["ModuleID"]), // ModuleName = dr["ModuleName"].ToString(), RightCode = Convert.ToInt32(dr["RightCode"]) //=obj.GetRights.Tables[0].Rows[0]["ModuleID"].ToString(); }); } } return(new JsonResult { Data = SerchAdd, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
/// <summary> /// 当权限不存在时,添加权限 /// </summary> /// <param name="request"></param> private void AddRight_Android(AddRightsRequest request) { //判断当前选中项是否已经存在,避免重复添加 var parendObj = _rolesRights.Table.FirstOrDefault(s => s.ProjectRolesID == request.roleId && s.ProjectMenuID == request.menuId); if (parendObj == null) { var menuObj = _menu.GetById(request.menuId); parendObj = new RolesRights { Id = Guid.NewGuid(), CreatedTime = DateTime.Now, DeletedTime = null, DeletedState = 0, IsDefault = 0, ProjectRolesID = request.roleId, ProjectMenuID = menuObj.Id, FunctionKey = menuObj.FunctionKey, FunctionName = menuObj.FunctionName, ImgUrl = menuObj.FunctionUrl, ProjectMenuParendID = menuObj.ParentID, DisplayNo = menuObj.DisplayNo, Icon = menuObj.Icon, FunctionType = menuObj.FunctionType }; _rolesRights.Insert(parendObj); } AddChildOrParend(request, parendObj.ProjectMenuParendID); }
public void add(RolesRights roles, string[] parentwithIDs, int Number) { roles.Mode = RoleRightsMode(roles, parentwithIDs, Number); // connect(); string con1 = con.State.ToString(); if (con1 == "Closed") { con.Open(); } SqlCommand cmdIURoleRights = new SqlCommand("IURoleRights", con); cmdIURoleRights.CommandType = CommandType.StoredProcedure; cmdIURoleRights.Parameters.AddWithValue("@HospitalID", HospitalID); cmdIURoleRights.Parameters.AddWithValue("@locationID", LocationID); cmdIURoleRights.Parameters.AddWithValue("@ModuleID", parentwithIDs[0].ToString()); cmdIURoleRights.Parameters.AddWithValue("@RightCode", parentwithIDs[1].ToString()); cmdIURoleRights.Parameters.AddWithValue("@RoleRightID", 0); cmdIURoleRights.Parameters.AddWithValue("@RoleID", roles.RoleID); cmdIURoleRights.Parameters.AddWithValue("@FormMode", 0); cmdIURoleRights.Parameters.AddWithValue("@RowInternal", false); cmdIURoleRights.Parameters.AddWithValue("@IsAuthorised", 0); cmdIURoleRights.Parameters.AddWithValue("@CreationID", UserID); cmdIURoleRights.Parameters.AddWithValue("@RowStatus", Number); cmdIURoleRights.Parameters.AddWithValue("@Mode", roles.Mode); result = cmdIURoleRights.ExecuteNonQuery(); }
/// <summary> /// 当权限存在时,删除权限 /// </summary> /// <param name="request"></param> /// <param name="projectRolesRightse"></param> /// <returns></returns> private bool DeleteRight(AddRightsRequest request, RolesRights projectRolesRightse) { //表示删除的是一级页面 if (projectRolesRightse.ProjectMenuParendID == null) { _rolesRights.Delete(projectRolesRightse); //同步删除所有的二级页面 var projectRolesRightses = _rolesRights.Table.Where(s => s.ProjectRolesID == request.roleId && s.ProjectMenuParendID == projectRolesRightse.ProjectMenuID).ToList(); if (projectRolesRightses.Count > 0) { _rolesRights.DeleteList(projectRolesRightses); //foreach (var btnList in projectRolesRightses.Select(item => _rolesRightsButtons.Table.Where(s => s.RolesRightsID == item.Id).ToList()).Where(btnList => btnList.Any())) //{ // _rolesRightsButtons.DeleteList(btnList); //} foreach (var item in projectRolesRightses) { //删除所有二级页面的操作权限 var btnList = _rolesRightsButtons.Table.Where(s => s.ProjectRolesRightsID == item.Id).ToList(); if (btnList.Any()) { _rolesRightsButtons.DeleteList(btnList); } } } } //表示删除的是二级页面 else { //删除页面权限 _rolesRights.Delete(projectRolesRightse); //删除操作权限 var btnList = _rolesRightsButtons.Table.Where(s => s.ProjectRolesRightsID == projectRolesRightse.Id).ToList(); if (btnList.Any()) { _rolesRightsButtons.DeleteList(btnList); } //获取同级页面 var projectRolesRightses = _rolesRights.Table.Where(s => s.ProjectRolesID == request.roleId && s.ProjectMenuParendID == projectRolesRightse.ProjectMenuParendID).ToList(); //如果不存在同级页面,则删除父级页面 if (!projectRolesRightses.Any()) { var projectRolesRights = _rolesRights.Table.FirstOrDefault(s => s.ProjectRolesID == request.roleId && s.ProjectMenuID == projectRolesRightse.ProjectMenuParendID); if (projectRolesRights != null) { _rolesRights.Delete(projectRolesRights); } } } _rolesRightsButtons.SaveChanges(); return(true); }
public ActionResult RoleRightstwo(int RoleID) { BL_RolesRights BLobj = new BL_RolesRights(); RolesRights obj = new RolesRights(); ModelState.Clear(); obj.GetRoleAndRights = BLobj.GetRoleAndRights(); obj.GetRoles = RolesRights.GetAllRols(); return(View(obj)); }
public JsonResult HideModuls() { // TempData["Msg"]="yed"; RolesRights obj = new RolesRights(); obj.GetRoleAndRights = new DataSet(); connect(); string n = Session["Password"].ToString(); string m = Session["Password2"].ToString(); List <RolesRights> serch = new List <RolesRights>(); DataSet _dsReturnDataSet = new DataSet(); string CompanyID = "0"; string UserID = Session["UserID"].ToString(); if (UserID == "1") { CompanyID = "1"; } if (UserID != "1") { SqlCommand cmd = new SqlCommand("GetModulesByParentModuleIDNew1", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@UserID", UserID); cmd.Parameters.AddWithValue("@CompanyID", HospitalID); cmd.Parameters.AddWithValue("@CompanyLocationID", LocationID); cmd.Parameters.AddWithValue("@Password", Session["Password"].ToString()); cmd.Parameters.AddWithValue("@Password2", Session["Password2"].ToString()); cmd.Parameters.AddWithValue("@FYStartDate", DateTime.Now); cmd.Parameters.AddWithValue("@FYEndDate", DateTime.Now); cmd.Parameters.AddWithValue("@ParentModuleID", 0); cmd.Parameters.AddWithValue("@iCustomerID", 1); SqlDataAdapter ad = new SqlDataAdapter(); ad.SelectCommand = cmd; ad.Fill(obj.GetRoleAndRights); foreach (DataRow dr in obj.GetRoleAndRights.Tables[0].Rows) { RolesRights obj1 = new RolesRights(); obj1.LeafModuleName = dr["LeafModuleName"].ToString(); obj1.ModuleName = dr["ModuleName"].ToString(); obj1.SubModuleName = dr["SubModuleName"].ToString(); serch.Add(obj1); } } else { return(Json("All", JsonRequestBehavior.AllowGet)); } return(Json(serch, JsonRequestBehavior.AllowGet)); }
public void beforAfterchk(RolesRights roles, Rights right) { for (int m = 0; m < right.beforAfterchk.Length; m++) { if (right.beforAfterchk[m] != "") { string[] parentwithIDs = right.beforAfterchk[m].Split('+'); // connect(); SqlCommand cmd = new SqlCommand("update RoleRights set RowStatus=1 where HospitalID=" + HospitalID + " and LocationID=" + LocationID + " and RowStatus=0 and RoleID=" + roles.RoleID + " and RightCode=" + parentwithIDs[1].ToString() + " and ModuleID=" + parentwithIDs[0].ToString() + "", con); int a = cmd.ExecuteNonQuery(); } } // con.Open(); }
public ActionResult UserRights() { //HospitalLocation Location = new HospitalLocation(); //collection //return View(); UserRights location = new UserRights(); BL_RolesRights BLobj = new BL_RolesRights(); RolesRights obj = new RolesRights(); ModelState.Clear(); obj.GetRoleAndRights = BLobj.GetRoleAndRights(); obj.GetRoles = BLobj.GetAllRols(); return(View(obj)); }
public string RoleRightsMode(RolesRights roles, string[] parentwithIDs, int Number) { // connect(); SqlDataAdapter ad = new SqlDataAdapter("select*from RoleRights where HospitalID=" + HospitalID + " and LocationID=" + LocationID + " and RowStatus=0 and RoleID=" + roles.RoleID + " and RightCode=" + parentwithIDs[1].ToString() + " and ModuleID=" + parentwithIDs[0].ToString() + "", con); DataSet ds = new DataSet(); // con.Open(); ad.Fill(ds); // con.Close(); if (ds.Tables[0].Rows.Count > 0) { roles.Mode = "Edit"; } else { roles.Mode = "Add"; } return(roles.Mode); }
public JsonResult GetRoleDataForUserRights(int UserID) { connect(); DataSet ds = new DataSet(); List <RolesRights> usersRight = new List <RolesRights>(); try { SqlCommand cmd = new SqlCommand("GetRoleDataForUserRights", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@HospitalID", HospitalID); cmd.Parameters.AddWithValue("@LocationID", LocationID); cmd.Parameters.AddWithValue("@UserID", UserID); con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); foreach (DataRow dr in ds.Tables[1].Rows) { RolesRights role = new RolesRights(); role.ModuleID = Convert.ToInt32(dr["ModuleID"]); role.RightCode = Convert.ToInt32(dr["Rights"]); // role.RightCode = Convert.ToInt32(dr["RightCode"]); usersRight.Add(role); } con.Close(); } catch (Exception ex) { con.Close(); ex.ToString(); } // return Json(usersRight, JsonRequestBehavior.AllowGet); //new JsonResult { Data = GetRoleRights, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; var jsonResult = Json(usersRight, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); //return new JsonResult { Data = usersRight, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; }
public ActionResult RoleRightsLevel2(int Level1ModuleID) { List <RolesRights> objSearch = new List <Models.Keystone.RolesRights>(); BL_RolesRights BLobj = new BL_RolesRights(); RolesRights obj = new RolesRights(); ModelState.Clear(); obj.GetRoleAndRights = BLobj.GetRoleAndRights(); DataView dataView3 = new DataView(obj.GetRoleAndRights.Tables[0], " ParentModuleID = " + Level1ModuleID + "", "", DataViewRowState.CurrentRows); foreach (DataRow dr in dataView3.ToTable().Rows) { objSearch.Add(new RolesRights { ModuleID = Convert.ToInt32(dr["ModuleID"]), ModuleName = dr["ModuleName"].ToString(), }); } return(new JsonResult { Data = objSearch, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
// // GET: /RoleRightstwo/ public ActionResult RoleRightstwo(int RoleID) { BL_RolesRights BLobj = new BL_RolesRights(); RolesRights obj = new RolesRights(); ModelState.Clear(); obj.GetRoleAndRights = BLobj.GetRoleAndRights(); obj.GetRoles = RolesRights.GetAllRols(); if (RoleID > 0) { obj.GetRights = RolesRights.GetRoleAndRightsByRoleID(RoleID); obj.RoleID = obj.GetRights.Tables[0].Rows[0]["RoleID"].ToString(); obj.RoleName = obj.GetRights.Tables[0].Rows[0]["RoleName"].ToString(); } else { // obj.RoleName = ""; // obj.RoleID = "0"; } return(View(obj)); }
/// <summary> /// 添加页面权限 /// </summary> /// <param name="item"></param> /// <param name="rolesRight"></param> /// <returns></returns> private bool AddRoleRight(RoleRightRequestDTO item, out RolesRights rolesRight) { bool result; //判断是否已经存在记录 var obj = _rolesRights.Table.FirstOrDefault(s => s.ProjectRolesID == item.ProjectRolesID && s.ProjectMenuID == item.ProjectMenuID); if (obj != null) { rolesRight = obj; result = true; } else { //角色权限(页面菜单) rolesRight = new RolesRights { Id = Guid.NewGuid(), ProjectRolesID = item.ProjectRolesID, ProjectMenuID = item.ProjectMenuID, ProjectMenuParendID = item.ProjectMenuParendID, CreatedTime = DateTime.Now, DeletedState = 0, DeletedTime = null, FunctionName = item.FunctionName, DisplayNo = item.DisplayNo, IsDefault = item.IsDefault }; //添加当前角色的页面权限 _rolesRights.PreInsert(rolesRight); result = _rolesRights.SaveChanges(); } return(result); }
/// <summary> /// 当权限不存在时,添加权限 /// </summary> /// <param name="request"></param> private void AddRight(AddRightsRequest request) { //如果不存在,则添加 var menuObj = _menu.GetById(request.menuId); //添加页面权限 var obj = new RolesRights { Id = Guid.NewGuid(), CreatedTime = DateTime.Now, DeletedTime = null, DeletedState = 0, IsDefault = 0, ProjectRolesID = request.roleId, ProjectMenuID = menuObj.Id, FunctionKey = menuObj.FunctionKey, FunctionName = menuObj.FunctionName, ImgUrl = menuObj.FunctionUrl, ProjectMenuParendID = menuObj.ParentID, DisplayNo = menuObj.DisplayNo, Icon = menuObj.Icon, FunctionType = menuObj.FunctionType }; _rolesRights.Insert(obj); //表示添加的是一级页面 if (obj.ProjectMenuParendID == null) { var rights = new List <RolesRights>(); //同步添加二级页面 var projectMenus = _menu.Table.Where(s => s.ParentID == obj.ProjectMenuID); foreach (var projectMenu in projectMenus) { rights.Add(new RolesRights() { Id = Guid.NewGuid(), CreatedTime = DateTime.Now, DeletedTime = null, DeletedState = 0, IsDefault = 0, ProjectRolesID = request.roleId, ProjectMenuID = projectMenu.Id, FunctionKey = projectMenu.FunctionKey, FunctionName = projectMenu.FunctionName, ImgUrl = projectMenu.FunctionUrl, ProjectMenuParendID = projectMenu.ParentID, DisplayNo = projectMenu.DisplayNo, Icon = projectMenu.Icon, FunctionType = projectMenu.FunctionType }); } _rolesRights.AddRange(rights); } //表示添加的是二级页面 else { //判断是否存在一级页面 var parendObj = _rolesRights.Table.Where(s => s.ProjectRolesID == request.roleId && s.ProjectMenuID == obj.ProjectMenuParendID).ToList(); if (parendObj.Any()) { return; } //不存在则同步添加 var parendMenu = _menu.GetById(obj.ProjectMenuParendID); _rolesRights.Insert(new RolesRights { Id = Guid.NewGuid(), CreatedTime = DateTime.Now, DeletedTime = null, DeletedState = 0, IsDefault = 0, ProjectRolesID = request.roleId, ProjectMenuID = parendMenu.Id, FunctionKey = parendMenu.FunctionKey, FunctionName = parendMenu.FunctionName, ImgUrl = parendMenu.FunctionUrl, ProjectMenuParendID = parendMenu.ParentID, DisplayNo = parendMenu.DisplayNo, Icon = parendMenu.Icon, FunctionType = parendMenu.FunctionType }); } }
/// <summary> /// 添加、修改角色页面权限 /// 用于PC,角色管理--权限设置--重新设置页面权限 /// 停用 /// </summary> /// <returns></returns> public JsonResponse AddRoleRight(AddRoleRightsStrRequest request) { var rolesRights = new List <RolesRights>(); var rolesRightsButtons = new List <RolesRightsButtons>(); try { //当前选中的菜单集合,过滤按钮集合 foreach (var item in request.data.Where(s => s.lv != 3)) { //获取当前操作的菜单 var menu = _menu.GetById(item.id); if (menu == null) { continue; } //添加到角色权限表 var result = new RolesRights() { Id = Guid.NewGuid(), CreatedTime = DateTime.Now, DeletedTime = null, DeletedState = 0, IsDefault = 0, ProjectRolesID = request.RoleId, ProjectMenuID = menu.Id, ProjectMenuParendID = menu.ParentID, FunctionKey = menu.FunctionKey, FunctionName = menu.FunctionName, DisplayNo = menu.DisplayNo, ImgUrl = menu.FunctionUrl, FunctionType = menu.FunctionType, Icon = menu.Icon }; rolesRights.Add(result); //同步添加当前菜单下的操作按钮(筛选当前菜单下存在的操作按钮集合) rolesRightsButtons.AddRange(request.data.Where(s => s.lv == 3 && s.parentId == item.id) .Select(c => new RolesRightsButtons { Id = Guid.NewGuid(), CreatedTime = DateTime.Now, DeletedTime = null, DeletedState = 0, ProjectRolesRightsID = result.Id, ProjectButtonsID = c.id, ButtonName = c.label, DisplayNo = c.displayNo })); } //开启事务 var tranRolesRight = _rolesRights.Context.Database.BeginTransaction(); try { //优先删除该角色的菜单权限 var roleRights = _rolesRights.Table.Where(s => s.ProjectRolesID == request.RoleId && s.FunctionType == 2).ToList(); if (roleRights.Count > 0) { _rolesRights.DeleteList(roleRights); } //再删除该角色的操作权限 foreach (var roleRightButtons in roleRights.Select(item => _rolesRightsButtons.Table.Where(s => s.ProjectRolesRightsID == item.Id)).Where(roleRightButtons => roleRightButtons.ToList().Count > 0)) { _rolesRightsButtons.DeleteList(roleRightButtons.ToList()); } //再添加该角色的菜单权限 _rolesRights.AddRange(rolesRights); //再添加该角色的操作权限 _rolesRightsButtons.AddRange(rolesRightsButtons); _rolesRights.SaveChanges(); //事务提交 tranRolesRight.Commit(); } catch (Exception) { //事务回滚 tranRolesRight.Rollback(); } return(new JsonResponse(OperatingState.Success, "数据添加成功")); } catch (Exception e) { return(new JsonResponse(OperatingState.Failure, "数据添加失败", e.Message)); } }
public bool addRolesRight(RolesRights roles, Rights right) { int length = 0; connect(); con.Open(); try { SqlCommand cmdIURole = new SqlCommand("IURole", con); cmdIURole.CommandType = CommandType.StoredProcedure; if (roles.RoleID == "" || roles.RoleID == null) { cmdIURole.Parameters.AddWithValue("@RoleID", 0); cmdIURole.Parameters["@RoleID"].Direction = ParameterDirection.Output; Mode = "Add"; } else { cmdIURole.Parameters.AddWithValue("@RoleID", roles.RoleID); Mode = "Edit"; } cmdIURole.Parameters.AddWithValue("@RoleName", roles.RoleName); cmdIURole.Parameters.AddWithValue("@ReferenceCode", 1); cmdIURole.Parameters.AddWithValue("@Description", ""); cmdIURole.Parameters.AddWithValue("@RowInternal", false); cmdIURole.Parameters.AddWithValue("@CreationID", UserID); cmdIURole.Parameters.AddWithValue("@Mode", Mode); int output = cmdIURole.ExecuteNonQuery(); if (output > 0) { roles.RoleID = cmdIURole.Parameters["@RoleID"].Value.ToString(); int Number = 0; if (right.OLDRightID == null) { length = 0; } else { length = right.OLDRightID.Length; } //for (int i = 0; i < right.ParentLevel0ID.Length; i++) //{ //DataSet dsexpect= GetRoleAndRightsByRoleID(Convert.ToInt32( roles.RoleID)); // List<string> OldDataExpect = new List<string>() ; // foreach(DataRow dr in dsexpect.Tables[0].Rows) // { // OldDataExpect.Add(Convert.ToString(dr["ModuleID"].ToString() + "+" + dr["RightCode"].ToString())); // } // //string[] l = OldDataExpect.Split('+'); // string[] Level = OldDataExpect.Except(right.ParentLevel4ID).ToArray(); if (right.ParentLevel4ID != null) { for (int m = 0; m < right.ParentLevel4ID.Length; m++) { if (length > 0) { //if (right.ParentLevel4ID.Length > right.OLDRightID.Length) //{ // right.ParentLevel1ID = right.ParentLevel4ID.Except(right.OLDRightID).ToArray(); // for (int j = 0; j < right.ParentLevel1ID.Length; j++) // { string[] parentwithIDs = right.ParentLevel4ID[m].Split('+'); roles.Mode = "Add"; add(roles, parentwithIDs, Number); // } //} //else //{ // right.ParentLevel1ID = right.OLDRightID.Except(right.ParentLevel4ID).ToArray(); // Number = 1; // for (int j = 0; j < right.ParentLevel1ID.Length; j++) // { // string[] parentwithIDs = right.ParentLevel1ID[j].Split('+'); // roles.Mode = "Edit"; // add(roles, parentwithIDs, Number); // } //} // break; } else { string[] parentwithID = right.ParentLevel4ID[m].Split('+'); roles.Mode = "Add"; add(roles, parentwithID, Number); } } } if (right.beforAfterchk[0] != "") { beforAfterchk(roles, right); } // } if (result > 0) { flag = true; } else { flag = false; } } else { flag = false; } } catch (Exception ex) { con.Close(); flag = false; } con.Close(); return(flag); }