Ejemplo n.º 1
0
        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());
            });
        }
Ejemplo n.º 2
0
        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);
            }
        }