/// <summary> /// 保存各种用户:组织机构、岗位、组、人员【先进行删除,再进行添加】 /// </summary> /// <param name="master">类型</param> /// <param name="value">业务表Id:如组织机构Id、组Id、岗位Id、人员Id等</param> /// <param name="userIds">权限类型:组织机构、组、岗位、人员Id</param> /// <returns></returns> public async Task <OperateStatus> SavePermissionUserBeforeDelete(EnumPrivilegeMaster master, Guid value, IList <Guid> userIds) { var operateStatus = new OperateStatus(); //删除 await _permissionUsernRepository.DeletePermissionUser(master, value); IList <SystemPermissionUser> systemPermissionUsers = userIds.Select(userId => new SystemPermissionUser { PrivilegeMaster = (byte)master, PrivilegeMasterUserId = userId, PrivilegeMasterValue = value }).ToList(); if (systemPermissionUsers.Any()) { //批量保存 operateStatus = await InsertMultipleAsync(systemPermissionUsers); } else { operateStatus.ResultSign = ResultSign.Successful; operateStatus.Message = Chs.Successful; } return(operateStatus); }
/// <summary> /// 保存权限信息 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <OperateStatus> SavePermission(SystemPermissionSaveInput input) { var operateStatus = new OperateStatus(); try { IList <SystemPermission> systemPermissions = input.Permissiones.Select(per => new SystemPermission { PrivilegeAccess = (byte)input.PrivilegeAccess, PrivilegeAccessValue = per, PrivilegeMasterValue = input.PrivilegeMasterValue, PrivilegeMaster = (byte)input.PrivilegeMaster, PrivilegeMenuId = input.PrivilegeMenuId }).ToList(); //删除该角色的权限信息 await _permissionRepository.DeletePermissionByPrivilegeMasterValue(input.PrivilegeAccess, input.PrivilegeMasterValue, input.PrivilegeMenuId); if (input.PrivilegeMaster == EnumPrivilegeMaster.人员) { //删除对应人员数据 await _permissionUsernRepository.DeletePermissionUser(input.PrivilegeMaster, input.PrivilegeMasterValue); //判断是否具有权限 if (!systemPermissions.Any()) { operateStatus.ResultSign = ResultSign.Successful; operateStatus.Message = Chs.Successful; return(operateStatus); } //插入权限人员数据 var permissionUser = new SystemPermissionUser { PrivilegeMaster = (byte)input.PrivilegeMaster, PrivilegeMasterUserId = input.PrivilegeMasterValue, PrivilegeMasterValue = input.PrivilegeMasterValue }; await _permissionUsernRepository.InsertAsync(permissionUser); } //是否具有权限数据 if (!systemPermissions.Any()) { operateStatus.ResultSign = ResultSign.Successful; operateStatus.Message = Chs.Successful; return(operateStatus); } //插入数据库 await _permissionRepository.BulkInsertAsync(systemPermissions); operateStatus.ResultSign = ResultSign.Successful; operateStatus.Message = Chs.Successful; return(operateStatus); } catch (Exception ex) { operateStatus.Message = ex.Message; return(operateStatus); } }