/// <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); }
/// <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); } }
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; } }
public NexoMessage(SaleToPOIResponse response, string xml, bool incoming) { Request = null; Reply = response; Initialise(xml, incoming); }
private bool ValidMsg(SaleToPOIResponse msg) { return(null != msg && null != msg.MessageHeader && null != msg.Item); }