void ICallbackHandler.HandlePreviewPartIdUpdateRequest(PreviewPartIdUpdateRequestFromMQ previewPartIdUpdateRequest, MessagePartInfo messagePartInfo) { onRequestReceived(); assembleMessageParts( ref previewPartIdUpdateMessagePartInfo, ref previewPartIdUpdateMessageParts, messagePartInfo, previewPartIdUpdateRequest, () => { List <string> previewPartIds = new List <string>(); foreach (var messagePart in previewPartIdUpdateMessageParts) { previewPartIds.AddRange(messagePart.PreviewPartIds); } var request = new PreviewPartIdUpdateRequestFromMQ() { PreviewPartIds = previewPartIds.ToArray() }; callbackHandler.QueuePreviewPartIdUpdateRequest(request.Convert()); }); }
private void onDataRead(object sender, PipeEventArgs e) { var jsonSerializedPipeCommand = Encoding.UTF8.GetString(e.Data); var pipeCommand = JsonConvert.DeserializeObject <PipeCommand>(jsonSerializedPipeCommand); dynamic parsedParameters = JsonConvert.DeserializeObject(pipeCommand.CommandParameters.ToString()); if (pipeCommand.CommandType == PipeCommandTypes.InvalidRequest) { var invalidRequestParameters = JsonConvert.DeserializeObject <InvalidRequestParameters>(pipeCommand.CommandParameters.ToString()); processCommandResponse(invalidRequestParameters.OriginalRequest.CommandType, invalidRequestParameters.Convert()); } else if (pipeCommand.CommandType == PipeCommandTypes.RequestAccepted) { var requestAcceptedParameters = JsonConvert.DeserializeObject <RequestAcceptedParameters>(pipeCommand.CommandParameters.ToString()); processCommandResponse(requestAcceptedParameters.CommandType, requestAcceptedParameters.Convert()); } else if (pipeCommand.CommandType == PipeCommandTypes.RequestRefused) { var requestRefusedParameters = JsonConvert.DeserializeObject <RequestRefusedParameters>(pipeCommand.CommandParameters.ToString()); processCommandResponse(requestRefusedParameters.CommandType, requestRefusedParameters.Convert()); } else if (pipeCommand.CommandType == PipeCommandTypes.NegotiationResponse) { negotiationResponse = JsonConvert.DeserializeObject <NegotiationResponseParameters>(pipeCommand.CommandParameters.ToString()); negotiationResponseReceived.Set(); } else if (pipeCommand.CommandType == PipeCommandTypes.ContentUpdateRequestFromMQ) { var contentUpdateRequest = JsonConvert.DeserializeObject <ContentUpdateRequestFromMQParameters>(pipeCommand.CommandParameters.ToString()).Convert(); CallbackHandler.QueueContentUpdateRequest(contentUpdateRequest); } else if (pipeCommand.CommandType == PipeCommandTypes.ChangeHighlightRequestFromMQ) { var changeHighlightRequest = JsonConvert.DeserializeObject <ChangeHighlightRequestFromMQParameters>(pipeCommand.CommandParameters.ToString()).Convert(); CallbackHandler.QueueChangeHighlightRequest(changeHighlightRequest); } else if (pipeCommand.CommandType == PipeCommandTypes.PreviewPartIdUpdateRequestFromMQ) { var previewPartIdUpdateRequest = JsonConvert.DeserializeObject <PreviewPartIdUpdateRequestFromMQParameters>(pipeCommand.CommandParameters.ToString()).Convert(); CallbackHandler.QueuePreviewPartIdUpdateRequest(previewPartIdUpdateRequest); } }