public PermissionOrderResponse Execute(PermissionOrderRequest request) { PermissionOrderResponse permissionOrderResponse = new PermissionOrderResponse(); PermissionInfo permission = ServiceHelper.LoadService <IUserService>().GetPermission(request.PermissionId); List <PermissionInfo> list = ServiceHelper.LoadService <IUserService>().GetPermissionsByParentId(permission.ParentId).ToList <PermissionInfo>(); int num = 0; for (int index = 0; index < list.Count; ++index) { PermissionInfo permissionInfo = list[index]; permissionInfo.DisplayOrder = index + 1; if (permissionInfo == permission) { num = index; } } if (request.Direction == PermissionOrderRequest.DirectionType.Up) { if (num > 0) { ++list[num - 1].DisplayOrder; --permission.DisplayOrder; } } else if (num + 1 < list.Count) { --list[num + 1].DisplayOrder; ++permission.DisplayOrder; } ServiceHelper.LoadService <IUserService>().UpdatePermissions((IList <PermissionInfo>)list); return(permissionOrderResponse); }
private void DownMenu(PermissionModel model) { PermissionOrderResponse permissionOrderResponse = LocalApi.Execute(new PermissionOrderRequest() { PermissionId = model.PermissionId, Direction = PermissionOrderRequest.DirectionType.Down }); this.RefreshData(); }