public IActionResult AddOrEditRolePermis(RolePermisDto dto) { dto.updateBy = GetCurrentUserId().Result; var state = _roleInfoService.AddOrEditRolePermis(dto); var message = state ? "保存成功" : "保存失败"; return(Ok(new { state, message })); }
public bool AddOrEditRolePermis(RolePermisDto dto) { var newPermis = dto.permissions.Select(x => new TbPermission { MenuId = x.menuId, SearchState = x.search, AddState = x.add, DeleteState = x.delete, UpdateState = x.update, ImportState = x.import, ErportState = x.export, LockState = x._lock, UpdateBy = dto.updateBy }); var newPerRelation = newPermis.Select(x => new TbPerRelation { Permiss = x }).ToList(); if (dto.roleId != 0) { using (_dbContext) { var entity = _dbContext.TbRole .Include(x => x.TbPerRelation) .ThenInclude(x => x.Permiss) .FirstOrDefault(x => x.RoleId == dto.roleId); _dbContext.TbPermission.RemoveRange(entity.TbPerRelation.Select(x => x.Permiss)); entity.RoleName = dto.roleName; entity.TbPerRelation = newPerRelation; _dbContext.TbRole.Update(entity); return(_dbContext.SaveChanges() > 0 ? true : false); } } else { using (_dbContext) { var newRole = new TbRole { RoleId = dto.roleId, RoleNo = dto.roleNo, RoleName = dto.roleName, TbPerRelation = newPerRelation, UpdateBy = dto.updateBy }; _dbContext.TbRole.AddRange(newRole); return(_dbContext.SaveChanges() > 0 ? true : false); } } }