void ICallbackHandler.HandleContentUpdateRequest(ContentUpdateRequestFromMQ contentUpdateRequest, MessagePartInfo messagePartInfo) { onRequestReceived(); assembleMessageParts( ref contentUpdateMessagePartInfo, ref contentUpdateMessageParts, messagePartInfo, contentUpdateRequest, () => { List <PreviewPart> previewParts = new List <PreviewPart>(); foreach (var messagePart in contentUpdateMessageParts) { previewParts.AddRange(messagePart.PreviewParts); } var request = new ContentUpdateRequestFromMQ() { PreviewParts = previewParts.ToArray() }; callbackHandler.QueueContentUpdateRequest(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); } }