| | |
| | | private readonly ISys_MenuRepository _MenuRepository; |
| | | private readonly ISys_MenuService _MenuService; |
| | | private readonly ISys_RoleAuthRepository _RoleAuthRepository; |
| | | |
| | | public ISys_RoleRepository Repository => BaseDal; |
| | | |
| | | public Sys_RoleService(ISys_RoleRepository BaseDal, ISys_MenuRepository MenuRepository, ISys_MenuService MenuService, ISys_RoleAuthRepository roleAuthRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | |
| | | }); |
| | | return WebResponseContent.Instance.OK(null, data); |
| | | } |
| | | public WebResponseContent GetCurrentTreePermissionPDA() |
| | | { |
| | | WebResponseContent content = GetCurrentUserTreePermissionPDA(); |
| | | int roleId = App.User.RoleId; |
| | | return WebResponseContent.Instance.OK(null, new |
| | | { |
| | | tree = content.Data, |
| | | roles = GetAllChildren(roleId) |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ç¼è¾æéæ¶ï¼è·åå½åç¨æ·çææèåæé |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent GetCurrentUserTreePermissionPDA() |
| | | { |
| | | return GetUserTreePermissionPDA(App.User.RoleId); |
| | | } |
| | | public WebResponseContent GetUserTreePermissionPDA(int roleId) |
| | | { |
| | | if (!App.User.IsRoleIdSuperAdmin(roleId) && App.User.RoleId != roleId) |
| | | { |
| | | if (!(GetAllChildren(App.User.RoleId)).Exists(x => x.Id == roleId)) |
| | | { |
| | | return WebResponseContent.Instance.Error("没ææéè·åæ¤è§è²çæéä¿¡æ¯"); |
| | | } |
| | | } |
| | | //è·åç¨æ·æé |
| | | List<Permissions> permissions = _MenuRepository.GetPermissions(roleId); |
| | | //æéç¨æ·æéæ¥è¯¢ææçèåä¿¡æ¯ |
| | | List<MenuDTO> menus = _MenuService.GetUserMenuListPDA(roleId); |
| | | |
| | | //è·åå½åç¨æ·æéå¦:(Add,Search)对åºçæ¾ç¤ºææ¬ä¿¡æ¯å¦:Addï¼æ·»å ï¼Search:æ¥è¯¢ |
| | | var data = menus.Where(x => x.MenuType==1).Select(x => new |
| | | { |
| | | Id = x.MenuId, |
| | | Pid = x.ParentId, |
| | | Text = x.MenuName, |
| | | IsApp = x.MenuType == 1, |
| | | Actions = _MenuService.GetActions(x.MenuId, x.Actions, permissions, roleId) |
| | | }); |
| | | return WebResponseContent.Instance.OK(null, data); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¿åè§è²æé |
| | |
| | | x.AuthValue = ""; |
| | | }); |
| | | //å°åæ¶çæé设置为"" |
| | | _RoleAuthRepository.UpdateData(delAuths); |
| | | _RoleAuthRepository.DeleteData(delAuths); |
| | | |
| | | int addCount = updateAuths.Where(x => x.AuthId <= 0).Count(); |
| | | int updateCount = updateAuths.Where(x => x.AuthId > 0).Count(); |