Example #1
0
        /// <summary>
        /// Create an item from an existing XML message
        /// </summary>
        public NexoItem(string xml)
        {
            // try deserializing the mesage to a request
            //SaleToPOIRequest request = Deserialize<SaleToPOIRequest>(xml);
            SaleToPOIRequest request = DeserializeRequest(xml);

            if (ValidMsg(request) &&
                IdentifyNexoObject(request.MessageHeader))
            {
                Request   = request;
                XML       = xml;
                SaleToPOI = AllocateObject(Category);
            }
            else
            {
                // try deserializing the mesage to a response
                //SaleToPOIResponse reply = Deserialize<SaleToPOIResponse>(xml);
                SaleToPOIResponse reply = DeserializeResponse(xml);
                if (ValidMsg(reply) &&
                    IdentifyNexoObject(reply.MessageHeader))
                //&& IdentifyNexoObject((MessageCategoryEnumeration)Enum.Parse(typeof(MessageCategoryEnumeration), reply.MessageHeader.MessageCategory)))
                {
                    Reply     = reply;
                    XML       = xml;
                    SaleToPOI = AllocateObject(Category);
                }
            }
        }
        public SaleToPOIResponse Deserialize(string saleToPoiMessageDto)
        {
            var saleToPoiMessageJObject           = JObject.Parse(saleToPoiMessageDto);
            var saleToPoiMessageRootJToken        = saleToPoiMessageJObject.First;
            var saleToPoiMessageWithoutRootJToken = saleToPoiMessageRootJToken.First;
            //Messageheader
            var messageHeader = DeserializeMessageHeader(saleToPoiMessageWithoutRootJToken);
            //Message payload
            object messagePayload = DeserializeMessagePayload(messageHeader, saleToPoiMessageWithoutRootJToken);

            var deserializedOutputMessage = new SaleToPOIResponse
            {
                MessageHeader  = messageHeader,
                MessagePayload = messagePayload
            };

            //Check and deserialize RepeatedMessageResponse. RepeatedMessageResponse is optional
            if (saleToPoiMessageDto.Contains("TransactionStatusResponse") && saleToPoiMessageDto.Contains("RepeatedMessageResponse") && saleToPoiMessageDto.Contains("RepeatedResponseMessageBody"))
            {
                var response = GetDeserializedRepeatedResponseMessagePayload(saleToPoiMessageWithoutRootJToken);
                TransactionStatusResponse deserializedOutput = (TransactionStatusResponse)deserializedOutputMessage.MessagePayload;
                deserializedOutput.RepeatedMessageResponse.RepeatedResponseMessageBody.MessagePayload = response;
                deserializedOutputMessage.MessagePayload = deserializedOutput;
            }
            return(deserializedOutputMessage);
        }
Example #3
0
 /// <summary>
 /// Create an item from a reply
 /// </summary>
 /// <param name="msg"></param>
 public NexoItem(SaleToPOIResponse msg)
 {
     if (null != msg &&
         null != msg.MessageHeader &&
         null != msg.Item &&
         IdentifyNexoObject(msg.MessageHeader))
     {
         Reply     = msg;
         XML       = Serialize(Reply);
         SaleToPOI = AllocateObject(Category);
     }
 }
Example #4
0
 protected NexoObject(MessageCategoryEnumeration category)
 {
     // prepare request and response objects
     Request = new SaleToPOIRequest();
     Reply   = new SaleToPOIResponse();
     Request.SecurityTrailer           = null;
     Request.MessageHeader.MessageType = MessageTypeEnumeration.Request.ToString();
     Reply.SecurityTrailer             = null;
     Reply.MessageHeader.MessageType   = MessageTypeEnumeration.Response.ToString();
     MessageCategory = category;
     RequestItem     = ReplyItem = null;
 }
        public SaleToPOIResponse Deserialize(string saleToPoiMessageDto)
        {
            try
            {
                var saleToPoiMessageJObject           = JObject.Parse(saleToPoiMessageDto);
                var saleToPoiMessageRootJToken        = saleToPoiMessageJObject.First;
                var saleToPoiMessageWithoutRootJToken = saleToPoiMessageRootJToken.First;
                var messageHeader = DeserializeMessageHeader(saleToPoiMessageWithoutRootJToken);

                var messagePayload            = DeserializeMessagePayload(messageHeader, saleToPoiMessageWithoutRootJToken);
                var deserializedOutputMessage = new SaleToPOIResponse
                {
                    MessageHeader  = messageHeader,
                    MessagePayload = messagePayload
                };

                return(deserializedOutputMessage);
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }
Example #6
0
 public NexoMessage(SaleToPOIResponse response, string xml, bool incoming)
 {
     Request = null;
     Reply   = response;
     Initialise(xml, incoming);
 }
Example #7
0
 private bool ValidMsg(SaleToPOIResponse msg)
 {
     return(null != msg &&
            null != msg.MessageHeader &&
            null != msg.Item);
 }