public void RegisterKPU(string kpuId, string connectionString, string queueString) { logger.Debug($"In RegisterKPU Parameters ConnectionString:{connectionString}, QueueString:{queueString}"); var connector = new Connector(); connector.ConnectAsync(connectionString, User, Password).Wait(); KpuRegistrationRequest kpuRegistration = new KpuRegistrationRequest(); kpuRegistration.KpuId = kpuId;// ToHActor.KPU_ID; KpuPermissionRequest[] request = new KpuPermissionRequest[2]; request[0] = new KpuPermissionRequest() { PermissionIdentifier = "view" }; request[1] = new KpuPermissionRequest() { PermissionIdentifier = "subscribe" }; kpuRegistration.PermissionRequests = request; kpuRegistration.MenuXmlString = GetMenuString(); string packedStr = SerializationHelper.Pack(kpuRegistration); connector.SendAsync(packedStr, queueString, BrokerCommands.KPU_REGISTRATION, null).Wait(); }
private async Task <bool> ProcessKpuPermissionRequest(string kpuId, KpuPermissionRequest request, KpuPermissionRequest parentPermissionRequest = null) { logger.Trace(LM($"kputId={kpuId},requestIdentifier={request.PermissionIdentifier}, parentRequestIdentifier={parentPermissionRequest?.PermissionIdentifier ?? "null"}")); var permissionId = kpuId + '.' + request.PermissionIdentifier; AccessControlResponse result = null; if (parentPermissionRequest == null) { result = await RegisterPermission(permissionId, null); } else { var parentPermissionId = kpuId + '.' + parentPermissionRequest.PermissionIdentifier; result = await RegisterPermission(permissionId, parentPermissionId); } if (request.ChildPermissionRequests != null && request.ChildPermissionRequests.Length > 0) { foreach (var childRequest in request.ChildPermissionRequests) { await ProcessKpuPermissionRequest(kpuId, childRequest, request); } } return(result.Result); }