public ActionResult AddPrivilege(PrivilegeAddEdit model) { //处理其他请求 var ac = Request["actionName"] ?? ""; if (ac != "") { return(OtherAction(ac)); } if (ModelState.IsValid) { if (sysPrivilegeBll.CheckPrivilegeName(model.Name.Trim(), model.Menu)) { ModelState.AddModelError("Name", "权限已存在"); return(View(model)); } var user = Session[Constants.USER_KEY] as User; model.Creator = user.SysOperator.ID; var sysPrivilege = new SysPrivilege(); sysPrivilege.ID = -1; sysPrivilege.Menu = model.Menu; sysPrivilege.Parent = 0; sysPrivilege.Name = model.Name.Trim(); sysPrivilege.Clazz = model.Clazz.Trim(); sysPrivilege.Area = model.Area.Trim(); sysPrivilege.Controller = model.Controller.Trim(); sysPrivilege.Method = model.Method.Trim(); if (!string.IsNullOrWhiteSpace(model.Parameter)) { sysPrivilege.Parameter = model.Parameter.Trim(); } else { sysPrivilege.Parameter = ""; } sysPrivilege.Url = model.Url; sysPrivilege.Reserve = ""; sysPrivilege.Remark = model.Remark; sysPrivilege.Creator = model.Creator; sysPrivilege.CreateTime = DateTime.Now; sysPrivilege.Auditor = model.Creator; var result = sysPrivilegeBll.AddPrivilege(sysPrivilege); if (result == null) { TempData["returnMsgType"] = "error"; TempData["returnMsg"] = "新增失败"; //ModelState.AddModelError("errorresult", "新增失败"); return(View(model)); } TempData["returnMsgType"] = "success"; TempData["returnMsg"] = "新增成功"; return(RedirectToAction("AddPrivilege", "Privilege")); } return(View(model)); }
public SysPrivilege addPrivilege(SysPrivilege model) { try { db.SysPrivilege.Add(model); db.SaveChanges(); return(model); } catch (Exception ex) { LogUtil.Exception("ExceptionLogger", ex); return(null); } }
public SysPrivilege editPrivilege(SysPrivilege model) { try { db.SysPrivilege.Attach(model); db.Entry(model).State = EntityState.Modified; db.SaveChanges(); return(model); } catch (Exception ex) { LogUtil.Exception("ExceptionLogger", ex); return(null); } }
public void AddTest() { var model = new SysPrivilege { SysId = "cf9d52cc-0500-4829-9611-fd0056961123", PrivilegeMaster = PrivilegeMaster.User, PrivilegeMasterKey = "cf9d52cc-0500-4829-9611-fd0056961468", PrivilegeAccess = PrivilegeAccess.Menu, PrivilegeAccessKey = "cf9d52cc-0500-4829-9611-fd0056961234", PrivilegeOperation = PrivilegeOperation.Enable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now.ToString(CultureInfo.InvariantCulture), "jim") }; Console.WriteLine(repository.Add(model)); model = new SysPrivilege { SysId = "cf9d52cc-0500-4829-9611-fd0056961124", PrivilegeMaster = PrivilegeMaster.Role, PrivilegeMasterKey = "cf9d52cc-0500-4829-9611-fd0056961488", PrivilegeAccess = PrivilegeAccess.Menu, PrivilegeAccessKey = "cf9d52cc-0500-4829-9611-fd0056961234", PrivilegeOperation = PrivilegeOperation.Enable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now.ToString(CultureInfo.InvariantCulture), "jim") }; Console.WriteLine(repository.Add(model)); model = new SysPrivilege { SysId = "cf9d52cc-0500-4829-9611-fd0056961125", PrivilegeMaster = PrivilegeMaster.Role, PrivilegeMasterKey = "cf9d52cc-0500-4829-9611-fd0056961488", PrivilegeAccess = PrivilegeAccess.Button, PrivilegeAccessKey = "cf9d52cc-0500-4829-9611-fd0056961921", PrivilegeOperation = PrivilegeOperation.Enable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now.ToString(CultureInfo.InvariantCulture), "jim") }; Console.WriteLine(repository.Add(model)); }
public ActionResult AddPrivilege(PrivilegeAddEdit model) { if (ModelState.IsValid) { if (systemBll.checkPrivilegeName(model.Name.Trim(), model.Menu)) { ModelState.AddModelError("errorname", "权限已存在"); return(View(model)); } var user = Session[Constants.USER_KEY] as User; model.Creator = user.SysOperator.ID; var sysPrivilege = new SysPrivilege(); sysPrivilege.ID = -1; sysPrivilege.Menu = model.Menu; sysPrivilege.Parent = 0; sysPrivilege.Name = model.Name.Trim(); sysPrivilege.Clazz = model.Clazz.Trim(); sysPrivilege.Area = model.Area.Trim(); sysPrivilege.Controller = model.Controller.Trim(); sysPrivilege.Method = model.Method.Trim(); sysPrivilege.Parameter = model.Parameter.Trim(); sysPrivilege.Url = model.Url; sysPrivilege.Reserve = ""; sysPrivilege.Remark = model.Remark; sysPrivilege.Creator = model.Creator; sysPrivilege.CreateTime = DateTime.Now; sysPrivilege.Auditor = model.Creator; var result = systemBll.addPrivilege(sysPrivilege); if (result == null) { ModelState.AddModelError("errorresult", "添加失败"); return(View(model)); } return(RedirectToAction("AddPrivilege", "System")); } return(View(model)); }
/// <summary> /// 根据权限拥有者类别ID重新设定权限 /// </summary> /// <param name="sysId"></param> /// <param name="privilegeMaster"></param> /// <param name="IDs">包括菜单、按钮编号</param> /// <param name="userName">当前操作用户</param> /// <returns></returns> public bool SetMenuPrivilege(string sysId, PrivilegeMaster privilegeMaster, string[] IDs, string userName) { //获取所有菜单 IEnumerable <SysMenu> allMenus = menuRepository.GetList(); //获取所有按钮 IEnumerable <SysButton> allButtons = buttonRepository.GetList(); //存储传入的menuId集合 List <string> menus = (from menu in allMenus where IDs.Contains(menu.SysId) select menu.SysId).ToList(); //存储传入的buttonId集合 List <string> buttons = (from button in allButtons where IDs.Contains(button.SysId) select button.SysId).ToList(); using (IDbTransaction tran = privilegeRepository.Connection.BeginTransaction()) { //根据用户ID获取原来用户可用菜单 //用于和现在选中的菜单进行判断,是否屏蔽原来可用菜单 IEnumerable <SysMenu> userMenus = ServiceFactory.MenuService.GetPrivilegedSysMenuByUserId(sysId); this.privilegeRepository.DeleteSysPrivilegeByMaster(sysId, privilegeMaster, tran); #region 如果是用户权限,先将用户和角色的权限进行对比,将用户禁用而角色启用的菜单和按钮设置为禁用 if (privilegeMaster == PrivilegeMaster.User) { #region 设置菜单禁用 foreach (SysMenu userMenu in userMenus) { if (!menus.Contains(userMenu.SysId)) { SysPrivilege sysPrivilege = new SysPrivilege { PrivilegeAccess = PrivilegeAccess.Menu, PrivilegeAccessKey = userMenu.SysId, PrivilegeMaster = privilegeMaster, PrivilegeMasterKey = sysId, PrivilegeOperation = PrivilegeOperation.Disable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now, userName) }; int addResult = privilegeRepository.Add(sysPrivilege, tran); if (addResult == 0) { tran.Rollback(); return(false); } #region 设置按钮禁用 if (userMenu.Buttons != null) { foreach (SysButton button in userMenu.Buttons) { if (!buttons.Contains(button.SysId)) { SysPrivilege sysPrivilegeBt = new SysPrivilege { PrivilegeAccess = PrivilegeAccess.Button, PrivilegeAccessKey = button.SysId, PrivilegeMaster = privilegeMaster, PrivilegeMasterKey = sysId, PrivilegeOperation = PrivilegeOperation.Disable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now, userName) }; addResult = privilegeRepository.Add(sysPrivilege, tran); if (addResult == 0) { tran.Rollback(); return(false); } } } } #endregion } } #endregion } #endregion #region 角色权限,只存储可用菜单,不进行和现在选中菜单判断 foreach (string menu in menus) { SysPrivilege sysPrivilege = new SysPrivilege { PrivilegeAccess = PrivilegeAccess.Menu, PrivilegeAccessKey = menu, PrivilegeMaster = privilegeMaster, PrivilegeMasterKey = sysId, PrivilegeOperation = PrivilegeOperation.Enable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now, userName) }; int addResult = privilegeRepository.Add(sysPrivilege, tran); if (addResult == 0) { tran.Rollback(); return(false); } #region 存储菜单下不可用按钮 var menuBts = allButtons.Where(x => x.MenuId == menu); menuBts = menuBts.Where(x => (!buttons.Contains(x.SysId))); foreach (SysButton sysButton in menuBts) { sysPrivilege = new SysPrivilege { PrivilegeAccess = PrivilegeAccess.Button, PrivilegeAccessKey = sysButton.SysId, PrivilegeMaster = privilegeMaster, PrivilegeMasterKey = sysId, PrivilegeOperation = PrivilegeOperation.Disable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now, userName) }; addResult = privilegeRepository.Add(sysPrivilege, tran); if (addResult == 0) { tran.Rollback(); return(false); } } #endregion } #endregion tran.Commit(); return(true); } }
public void InitData <T>(IEnumerable <T> lstSource, PrivilegeMaster master) where T : EntityBase { //获取现在已有的菜单、按钮数据。在将按钮添加到菜单属性中。 var lstMenu = this.menuRepository.GetList(); foreach (var sysMenu in lstMenu) { sysMenu.Buttons = this.menuRepository.GetButtons(sysMenu.SysId); } foreach (var source in lstSource) { foreach (var sysMenu in lstMenu) { var model = new SysPrivilege { PrivilegeMaster = master, PrivilegeMasterKey = source.SysId, PrivilegeAccess = PrivilegeAccess.Menu, PrivilegeAccessKey = sysMenu.SysId, PrivilegeOperation = PrivilegeOperation.Disable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now.ToString(CultureInfo.InvariantCulture), "System") }; #region 检查该条数据是否存在 var p = new DynamicParameters(); p.Add("PrivilegeMaster", (int)master); p.Add("PrivilegeMasterKey", source.SysId.Trim()); p.Add("PrivilegeAccess", (int)PrivilegeAccess.Menu); p.Add("PrivilegeAccessKey", sysMenu.SysId.Trim()); var chkResult = privilegeRepository.GetList <int>(Constant.SqlCount, Constant.SqlExistsSysPrivilegeWhere, p); if (chkResult.FirstOrDefault() == 0) { Console.WriteLine(privilegeRepository.Add(model)); } #endregion foreach (var sysButton in sysMenu.Buttons) { model = new SysPrivilege { PrivilegeMaster = master, PrivilegeMasterKey = source.SysId, PrivilegeAccess = PrivilegeAccess.Button, PrivilegeAccessKey = sysButton.SysId, PrivilegeOperation = PrivilegeOperation.Disable, RecordStatus = string.Format("创建时间:{0},创建人:{1}", DateTime.Now.ToString(CultureInfo.InvariantCulture), "System") }; #region 检查该条数据是否存在 p = new DynamicParameters(); p.Add("PrivilegeMaster", (int)master); p.Add("PrivilegeMasterKey", source.SysId.Trim()); p.Add("PrivilegeAccess", (int)PrivilegeAccess.Button); p.Add("PrivilegeAccessKey", sysButton.SysId.Trim()); chkResult = privilegeRepository.GetList <int>(Constant.SqlCount, Constant.SqlExistsSysPrivilegeWhere, p); if (chkResult.FirstOrDefault() == 0) { Console.WriteLine(privilegeRepository.Add(model)); } #endregion } } } }
public SysPrivilege EditPrivilege(SysPrivilege model) { return(sysPrivilegeDal.EditPrivilege(model)); }
public SysPrivilege AddPrivilege(SysPrivilege model) { return(sysPrivilegeDal.AddPrivilege(model)); }
public SysPrivilege editPrivilege(SysPrivilege model) { return(sysPrivilegeService.editPrivilege(model)); }
public SysPrivilege addPrivilege(SysPrivilege model) { return(sysPrivilegeService.addPrivilege(model)); }