private void SetRolePermissionsFunctionMap(RoleDTO csDto) { var roleFunctionMaps = _databaseContext.RoleFunctionMaps.Where(a => a.RoleId == csDto.Id); foreach (var roleFunctionMap in roleFunctionMaps) { _databaseContext.RoleFunctionMaps.Remove(roleFunctionMap); } foreach (var functionDto in csDto.FunctionDtos) { var roleFunctionMap = new RoleFunctionMap() { FunctionId = functionDto.Id, RoleId = csDto.Id }; _databaseContext.RoleFunctionMaps.Add(roleFunctionMap); } }
public IActionResult RoleFunctionMapSet(RoleFunctionSetDto dto) { AjaxResult result = new AjaxResult { Type = Data.AjaxResultType.Success, Content = "操作成功:<br>" }; int delCount = 0; int addCount = 0; //特殊处理 if (dto.FunctionIds == null || dto.FunctionIds.Length == 0) { delCount = _roleFunctionMapContract.Delete(m => m.RoleId == dto.RoleId); } else { try { var dbItem = _roleFunctionMapContract.Entities.Where(m => m.RoleId == dto.RoleId).ToArray(); int count = dto.FunctionIds.Length; RoleFunctionMap[] arr = new RoleFunctionMap[count]; for (int i = 0; i < count; i++) { arr[i] = new RoleFunctionMap { RoleId = dto.RoleId, FunctionId = dto.FunctionIds[i] }; } _roleFunctionMapContract.UnitOfWork.BeginTran(); //删除 var delItem = dbItem.Except(arr, EqualityHelper <RoleFunctionMap> .CreateComparer(m => m.RoleId + "-" + m.FunctionId)).ToArray(); if (delItem.Length > 0) { delCount = _roleFunctionMapContract.Delete(delItem.Select(m => m.Id).ToArray()); } //新增 var addItem = arr.Except(dbItem, EqualityHelper <RoleFunctionMap> .CreateComparer(m => m.RoleId + "-" + m.FunctionId)).ToArray(); if (addItem.Length > 0) { addCount = _roleFunctionMapContract.Insert(addItem); } _roleFunctionMapContract.UnitOfWork.Commit(); } catch (Exception) { _roleFunctionMapContract.UnitOfWork.Rollback(); } } if (addCount > 0) { result.Content += "新增 " + addCount + " 条权限<br>"; } if (delCount > 0) { result.Content += "删除 " + delCount + " 条权限<br>"; } if (addCount == 0 && delCount == 0) { result.Content += "无任何修改!"; } else { //同步到缓存 _roleFunctionMapContract.SyncToCache(dto.RoleId); } return(Json(result)); }
public Task <int> InsertAsync(RoleFunctionMap entity) { return(_repository.InsertAsync(entity)); }
public Task <int> DeleteAsync(RoleFunctionMap entity) { return(_repository.DeleteAsync(entity)); }
/// <summary> /// 新增 /// </summary> /// <returns>操作影响的行数</returns> public int Insert(RoleFunctionMap entity) { return(_repository.Insert(entity)); }
/// <summary> /// 根据实体删除 /// </summary> /// <param name="entity">实体对象</param> /// <returns>操作影响的行数</returns> public int Delete(RoleFunctionMap entity) { return(_repository.Delete(entity)); }
public Task <int> UpdateAsync(RoleFunctionMap entity, string[] ignoreColumns = null) { return(_repository.UpdateAsync(entity, ignoreColumns)); }
/// <summary> /// 修改(主键是更新条件) /// </summary> /// <param name="entity"> 实体对象(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)])</param> /// <param name="ignoreColumns">不更新的列</param> /// <returns>操作影响的行数</returns> public int Update(RoleFunctionMap entity, string[] ignoreColumns = null) { return(_repository.Update(entity, ignoreColumns)); }
public Task <RoleFunctionMap> InsertReturnEntityAsync(RoleFunctionMap entity) { return(_repository.InsertReturnEntityAsync(entity)); }
/// <summary> /// 新增并返回实体 /// </summary> /// <returns>操作影响的行数</returns> public RoleFunctionMap InsertReturnEntity(RoleFunctionMap entity) { return(_repository.InsertReturnEntity(entity)); }