public async Task <bool> Assign(int roleId, List <int> permissionIds) { var roleModulePermissions = await _roleModulePermissionRepository.Query(t => t.RoleId == roleId); var removeIdList = roleModulePermissions.Where(t => !permissionIds.Contains(t.PermissionId.ObjToInt())).Select(c => (object)c.Id); await _roleModulePermissionRepository.DeleteByIds(removeIdList.ToArray()); foreach (var item in permissionIds) { int pid = item.ObjToInt(); var rmpitem = roleModulePermissions.Where(t => t.PermissionId == pid); if (!rmpitem.Any()) { var moduleId = (await repository.Query(t => t.Id == pid)).FirstOrDefault()?.ModuleId; RoleModulePermission roleModulePermission = new RoleModulePermission() { IsDeleted = false, RoleId = roleId, ModuleId = moduleId.ObjToInt(), PermissionId = pid, }; await _roleModulePermissionRepository.Add(roleModulePermission); } } return(true); }
public async Task <MessageModel <string> > Assign([FromBody] AssignView assignView) { var data = new MessageModel <string>(); if (assignView.rid > 0) { data.success = true; var roleModulePermissions = await _roleModulePermissionServices.Query(d => d.RoleId == assignView.rid); var remove = roleModulePermissions.Where(d => !assignView.pids.Contains(d.PermissionId.ObjToInt())).Select(c => (object)c.Id); data.success &= remove.Any() ? await _roleModulePermissionServices.DeleteByIds(remove.ToArray()) : true; foreach (var item in assignView.pids) { var rmpitem = roleModulePermissions.Where(d => d.PermissionId == item); var moduleid = (await _permissionServices.Query(p => p.Id == item)).FirstOrDefault()?.Mid; if (!rmpitem.Any()) { RoleModulePermission roleModulePermission = new RoleModulePermission() { IsDeleted = false, RoleId = assignView.rid, ModuleId = moduleid.ObjToInt(), PermissionId = item, }; roleModulePermission.CreateId = _user.ID; roleModulePermission.CreateBy = _user.Name; data.success &= (await _roleModulePermissionServices.Add(roleModulePermission)) > 0; } else { foreach (var role in rmpitem) { if (!role.ModuleId.Equals(moduleid)) { role.ModuleId = moduleid.Value; await _roleModulePermissionServices.Update(role, new List <string> { "ModuleId" }); } } } } if (data.success) { _requirement.Permissions.Clear(); data.response = ""; data.msg = "保存成功"; } } return(data); }
public void Add(RoleModulePermission entity) { Execute( sql: @" INSERT INTO [dbo].[RoleModulePermission] ([id],[roleid],[moduleid],[canadd],[canedit], [candelete],[canview],[isDeleted],[createdate],[updatedate],[createdby],[updatedby]) VALUES(@Id, @RoleId,@ModuleId ,@CanAdd ,@CanEdit ,@CanDelete,@CanView, @IsDeleted, @CreateDate , @UpdateDate,@CreatedBy,@UpdatedBy)", param: entity ); }
private void btnCopy_Click(object sender, EventArgs e) { RoleModulePermission rolePermission = new RoleModulePermission(); // 模块访问权限复制到剪切板 string[] grantModuleIds = this.GetGrantModuleIds(); rolePermission.GrantModuleIds = grantModuleIds; Clipboard.SetData("roleModulePermission", rolePermission); this.btnPaste.Enabled = true; }
private void btnPaste_Click(object sender, EventArgs e) { object clipboardData = Clipboard.GetData("roleModulePermission"); if (clipboardData != null) { RoleModulePermission rolePermission = (RoleModulePermission)clipboardData; string[] grantModuleIds = rolePermission.GrantModuleIds; DotNetService.Instance.PermissionService.GrantRoleModuleScopes(UserInfo, this.TargetRoleId, "Resource.AccessPermission", grantModuleIds); this.GetCurrentPermission(); } }
public async Task <MessageModel <string> > Assign([FromBody] AssignView assignView) { var data = new MessageModel <string>(); try { if (assignView.rid > 0) { data.success = true; var roleModulePermissions = await _roleModulePermissionServices.Query(d => d.RoleId == assignView.rid); var remove = roleModulePermissions.Where(d => !assignView.pids.Contains(d.PermissionId.ObjToInt())).Select(c => (object)c.Id); data.success |= await _roleModulePermissionServices.DeleteByIds(remove.ToArray()); foreach (var item in assignView.pids) { var rmpitem = roleModulePermissions.Where(d => d.PermissionId == item); if (!rmpitem.Any()) { var moduleid = (await _permissionServices.Query(p => p.Id == item)).FirstOrDefault()?.Mid; RoleModulePermission roleModulePermission = new RoleModulePermission() { IsDeleted = false, RoleId = assignView.rid, ModuleId = moduleid.ObjToInt(), PermissionId = item, }; roleModulePermission.CreateId = _user.ID; roleModulePermission.CreateBy = _user.Name; data.success |= (await _roleModulePermissionServices.Add(roleModulePermission)) > 0; } } if (data.success) { data.response = ""; data.msg = "保存成功"; } } } catch (Exception) { data.success = false; } return(data); }
public async Task <MessageModel <string> > Post([FromBody] RoleModulePermission request) { var data = new MessageModel <string>(); var id = await _roleModulePermissionServices.Add(request); data.success = id > 0; if (data.success) { data.response = id.ObjToString(); data.msg = "添加成功"; } return(data); }
public async Task <MessageModel <string> > Put([FromBody] RoleModulePermission request) { var data = new MessageModel <string>(); if (request.Id > 0) { data.success = await _roleModulePermissionServices.Update(request); if (data.success) { data.msg = "更新成功"; data.response = request?.Id.ObjToString(); } } return(data); }
public async Task <MessageModel <string> > Post(int roleId, string array) { var data = new MessageModel <string>(); if (roleId > 0 && !string.IsNullOrWhiteSpace(array)) { var roleModulePermissions = await _roleModulePermissionService.Query(a => a.RoleId == roleId.ObjToInt()).ConfigureAwait(false); var arr = array.Split(",").ToList(); var remove = roleModulePermissions.Where(d => !arr.Contains(d.PermissionId.ObjToString())).Select(c => (object)c.Id); // 保存之前删除已存在的权限 data.Success |= await _roleModulePermissionService.DeleteByIds(remove.ToArray()).ConfigureAwait(false); var list = new List <RoleModulePermission>(); foreach (var item in arr) { var rmpItem = roleModulePermissions.Where(d => d.PermissionId == item.ObjToInt()); if (!rmpItem.Any()) { var moduleId = (await _permissionService.Query(p => p.Id == item.ObjToInt()).ConfigureAwait(false)).FirstOrDefault()?.Mid; var roleModulePermission = new RoleModulePermission { RoleId = roleId.ObjToInt(), CreateTime = DateTime.Now.Date, IsDelete = false, ModifyTime = DateTime.Now.Date, ModuleId = moduleId, PermissionId = item.ObjToInt() }; list.Add(roleModulePermission); } } ; var result = await _roleModulePermissionService.Add(list).ConfigureAwait(false); data.Success = result > 0; if (data.Success) { data.Response = result.ObjToString(); data.Msg = "添加成功"; } } // TODO:添加日志到数据库 return(data); }
public async Task <BaseResponse <string> > Assign([FromBody] AssignView assignView) { var data = new BaseResponse <string>(); try { if (assignView.rid > 0) { var roleModulePermissions = await _roleModuleServive.Query(d => d.RoleId == assignView.rid); var remove = roleModulePermissions.Where(d => !assignView.pids.Contains(d.MenuId)).Select(c => (object)c.Id); await _roleModuleServive.DeleteByIds(remove.ToArray());//删除 foreach (var item in assignView.pids) { var rmpitem = roleModulePermissions.Where(d => d.MenuId == item); if (!rmpitem.Any()) { RoleModulePermission roleModulePermission = new RoleModulePermission() { IsDrop = false, RoleId = assignView.rid, MenuId = item, }; roleModulePermission.CreatedId = _user.ID; roleModulePermission.CreatedName = _user.Name; roleModulePermission.UpdateId = _user.ID; roleModulePermission.UpdateName = _user.Name; var res = (await _roleModuleServive.Add(roleModulePermission)) > 0; } } data.Msg = "保存成功"; } } catch (Exception ex) { data.Code = 301; data.Msg = ex.ToString(); } return(data); }
public OperationResult SetRoleModulePermission(int roleId, IEnumerable <RoleModulePermissionModel> addModulePermissionList, IEnumerable <RoleModulePermissionModel> removeModulePermissionList) { //逻辑删除->物理删除0321 if (removeModulePermissionList.Count() > 0) { foreach (var rmp in removeModulePermissionList) { //var updateEntity = RoleModulePermissions.FirstOrDefault(t => t.RoleId == roleId && t.ModuleId == rmp.ModuleId && t.PermissionId == rmp.PermissionId && t.IsDeleted == false); //if (updateEntity != null) //{ // updateEntity.IsDeleted = true; // RoleModulePermissionRepository.Update(updateEntity); //} RoleModulePermissionRepository.Delete(t => t.RoleId == roleId && t.ModuleId == rmp.ModuleId && t.PermissionId == rmp.PermissionId && t.IsDeleted == false); } } //插入 & 更新 if (addModulePermissionList.Count() > 0) { foreach (var amp in addModulePermissionList) { var updateEntity = RoleModulePermissions.FirstOrDefault(t => t.RoleId == roleId && t.ModuleId == amp.ModuleId && t.PermissionId == amp.PermissionId && t.IsDeleted == true); if (updateEntity != null) { updateEntity.IsDeleted = false; RoleModulePermissionRepository.Update(updateEntity); } else { var addEntity = new RoleModulePermission { RoleId = roleId, ModuleId = amp.ModuleId, PermissionId = amp.PermissionId }; RoleModulePermissionRepository.Insert(addEntity); } } } return(new OperationResult(OperationResultType.Success, "授权成功")); }
public void Update(RoleModulePermission entity) { Execute( sql: @" UPDATE [dbo].[RoleModulePermission] SET ,[roleid] = @RoleId ,[moduleid] = @ModuleId ,[canadd] = @CanAdd ,[canedit] = @CanEdit ,[candelete] = @CanDelete ,[canview] = @CanView ,[isDeleted] = @IsDeleted ,[createdate] = @CreateDate ,[updatedate] = @UpdateDate ,[createdby] = @CreatedBy ,[updatedby] = @UpdatedBy WHERE Id = @Id", param: entity ); }
public void SetRoleModulePermission(int roleId, IEnumerable <RoleModulePermissionModel> addModulePermissionList, IEnumerable <RoleModulePermissionModel> removeModulePermissionList) { //逻辑删除 if (removeModulePermissionList.Count() > 0) { foreach (var rmp in removeModulePermissionList) { var updateEntity = _roleModulePermissionRepository.GetAll().FirstOrDefault(t => t.RoleId == roleId && t.ModuleId == rmp.ModuleId && t.PermissionId == rmp.PermissionId && t.IsDeleted == false); if (updateEntity != null) { updateEntity.IsDeleted = true; _roleModulePermissionRepository.Update(updateEntity); } } } //插入 & 更新 if (addModulePermissionList.Count() > 0) { foreach (var amp in addModulePermissionList) { var updateEntity = _roleModulePermissionRepository.GetAll().FirstOrDefault(t => t.RoleId == roleId && t.ModuleId == amp.ModuleId && t.PermissionId == amp.PermissionId && t.IsDeleted == true); if (updateEntity != null) { updateEntity.IsDeleted = false; _roleModulePermissionRepository.Update(updateEntity); } else { var addEntity = new RoleModulePermission { RoleId = roleId, ModuleId = amp.ModuleId, PermissionId = amp.PermissionId }; _roleModulePermissionRepository.Insert(addEntity); } } } }
public async Task <ServiceResponse> SaveUpdateRoleModulePermission(RoleModulePermissionDto model) { ServiceResponse response = new ServiceResponse(); try { RoleModulePermission data = new RoleModulePermission { Id = string.IsNullOrEmpty(model.Id) ? Guid.NewGuid().ToString() : model.Id, CreateDate = DateTime.Now, CreatedBy = model.CreatedBy, CanAdd = model.CanAdd, CanDelete = model.CanDelete, CanEdit = model.CanEdit, CanView = model.CanView, ModuleId = model.ModuleId, RoleId = model.RoleId, IsDeleted = false, }; if (string.IsNullOrEmpty(model.Id)) { unitOfWork.RoleModulePermissionRepository.Add(data); } else { unitOfWork.RoleModulePermissionRepository.Update(data); } unitOfWork.Commit(); response.Data = data; response.IsSuccess = true; } catch (Exception e) { response.IsSuccess = false; response.Message = e.ToString(); } return(response); }
public ActionResult GetPermission(string roleId, string selectedModules) { //选中模块 List <string> selectedModuleId = new List <string>(); string[] strSelectedModules = selectedModules.Split(','); foreach (var Id in strSelectedModules) { selectedModuleId.Add(Id); } //权限模块列表 var model = new RoleSelectedPermissionModel(); //权限下的模块 var role = RoleService.Roles.Where(t => t._ID == roleId && t.IsDeleted == false).FirstOrDefault(); if (role != null) { var permissions = PermissionService.Permissions.Where(t => t.IsDeleted == false && t.Enabled == true) .OrderBy(t => t.OrderSort).ToList() .Select(t => new PermissionModel { Enabled = t.Enabled, PermissionId = t._ID, PermissionName = t.Name, OrderSort = t.OrderSort }).ToList(); model.HeaderPermissionList = permissions; var module = ModuleService.Modules.Where(t => selectedModuleId.Contains(t._ID)).ToList(); foreach (var m in module) { var modulePermissionModel = new ModulePermissionModel { ModuleId = m._ID, ParentId = m.ParentId, ModuleName = m.Name, Code = m.Code }; var rmodule = new RoleModulePermission(); if (role.RoleModulePermissions != null) { rmodule = role.RoleModulePermissions.FirstOrDefault(x => x.ModuleId == m._ID); } if (rmodule == null) { rmodule = new RoleModulePermission(); } rmodule.PermissionIds = rmodule.PermissionIds ?? new List <string>(); foreach (var p in permissions) { var selected = rmodule.PermissionIds.FirstOrDefault(x => x == p.PermissionId) != null; if (selected && !modulePermissionModel.Selected) { modulePermissionModel.Selected = true; var pa = model.ModulePermissionDataList.FirstOrDefault(x => x.ModuleId == modulePermissionModel.ParentId); if (pa != null && !pa.Selected) { pa.Selected = true; } } modulePermissionModel.PermissionDataList.Add(new PermissionModel { PermissionId = p.PermissionId, PermissionName = p.PermissionName, OrderSort = p.OrderSort, Enabled = m.PermissionIds.FirstOrDefault(x => x == p.PermissionId) != null, Selected = selected }); } model.ModulePermissionDataList.Add(modulePermissionModel); } //权限按照Code排序 model.ModulePermissionDataList = model.ModulePermissionDataList.OrderBy(t => t.Code).ToList(); } return(PartialView("Permission", model)); }
private void btnCopy_Click(object sender, EventArgs e) { RoleModulePermission rolePermission = new RoleModulePermission(); // 模块访问权限复制到剪切板 string[] grantModuleIds = this.GetGrantModuleIds(); rolePermission.GrantModuleIds = grantModuleIds; Clipboard.SetData("roleModulePermission", rolePermission); this.btnPaste.Enabled = true; }