public async Task <IActionResult> CreatePermissionAsync([FromBody] PermissionCreateDto permissionCreateDto) { var id = Convert.ToInt32(User.Identity.Name); int sortId; var leaveObj = new Permissions(); //获取排序id try { var sortList = await context.Permissions.Where(m => m.PID == permissionCreateDto.PID).ToListAsync(); if (sortList.Count != 0) { sortId = sortList.Max(m => m.Sort); } else { sortId = 1; } leaveObj = await context.Permissions.FirstOrDefaultAsync(m => m.PID == permissionCreateDto.PID); } catch (Exception ex) { throw; } var permission = mapper.Map <Permissions>(permissionCreateDto); permission.CreateID = id; permission.CreateTime = DateTime.Now; permission.ActiveName = permission.Name; permission.Sort = sortId + 1; if (leaveObj == null) { permission.Leave = 1; } else { permission.Leave = leaveObj.Leave; } await context.Permissions.AddAsync(permission); await context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> EditPermissionByIDAsync(int permissionID, [FromBody] PermissionCreateDto permissionCreateDto) { var per = await context.Permissions.FindAsync(permissionID); if (per == null) { return(NotFound()); } per.Name = permissionCreateDto.Name; per.Icon = permissionCreateDto.Icon; per.Url = permissionCreateDto.Url; per.ActiveName = permissionCreateDto.Name; context.Permissions.Update(per); await context.SaveChangesAsync(); //请掉所有角色权限菜单的缓冲 foreach (var item in await context.Roles.ToListAsync()) { await distributedCache.RemoveAsync($"Role_Menu_{item.ID}"); } return(Ok()); }