public JObject GetJson(bool encoded) { string contextData = string.Empty; string contentData = string.Empty; byte[] data = ContextData; if (data != null) { if (encoded) { data = IoMessageUtils.EncodeBase64(data); } contextData = StringUtils.NewString(data); } data = ContentData; if (data != null) { if (encoded) { data = IoMessageUtils.EncodeBase64(data); } contentData = StringUtils.NewString(data); } var json = new JObject { { IdFieldName, Id }, { TagFieldName, Tag }, { GroupIdFieldName, GroupId }, { SequenceNumberFieldName, SequenceNumber }, { SequenceTotalFieldName, SequenceTotal }, { PriorityFieldName, Priority }, { TimestampFieldName, Timestamp }, { PublisherFieldName, Publisher }, { AuthIdFieldName, AuthId }, { AuthGroupFieldName, AuthGroup }, { VersionFieldName, Version }, { ChainPositionFieldName, ChainPosition }, { HashFieldName, Hash }, { PreviousHashFieldName, PreviousHash }, { NonceFieldName, Nonce }, { DifficultyTargetFieldName, DifficultyTarget }, { InfoTypeFieldName, InfoType }, { InfoFormatFieldName, InfoFormat }, { ContextDataFieldName, contextData }, { ContentDataFieldName, contentData } }; return(json); }
public IoMessage(JObject json, bool decode) : this() { if (json[IdFieldName] != null) { Id = json[IdFieldName].ToObject <string>(); } if (json[TagFieldName] != null) { Tag = json[TagFieldName].ToObject <string>(); } if (json[GroupIdFieldName] != null) { GroupId = json[GroupIdFieldName].ToObject <string>(); } if (json[SequenceNumberFieldName] != null) { SequenceNumber = json[SequenceNumberFieldName].ToObject <int>(); } if (json[SequenceTotalFieldName] != null) { SequenceTotal = json[SequenceTotalFieldName].ToObject <int>(); } if (json[PriorityFieldName] != null) { Priority = json[PriorityFieldName].ToObject <sbyte>(); } if (json[TimestampFieldName] != null) { Timestamp = json[TimestampFieldName].ToObject <long>(); } if (json[PublisherFieldName] != null) { Publisher = json[PublisherFieldName].ToObject <string>(); } if (json[AuthIdFieldName] != null) { AuthId = json[AuthIdFieldName].ToObject <string>(); } if (json[AuthGroupFieldName] != null) { AuthGroup = json[AuthGroupFieldName].ToObject <string>(); } if (json[VersionFieldName] != null) { Version = json[VersionFieldName].ToObject <short>(); } if (json[ChainPositionFieldName] != null) { ChainPosition = json[ChainPositionFieldName].ToObject <long>(); } if (json[HashFieldName] != null) { Hash = json[HashFieldName].ToObject <string>(); } if (json[PreviousHashFieldName] != null) { PreviousHash = json[PreviousHashFieldName].ToObject <string>(); } if (json[NonceFieldName] != null) { Nonce = json[NonceFieldName].ToObject <string>(); } if (json[DifficultyTargetFieldName] != null) { DifficultyTarget = json[DifficultyTargetFieldName].ToObject <int>(); } if (json[InfoTypeFieldName] != null) { InfoType = json[InfoTypeFieldName].ToObject <string>(); } if (json[InfoFormatFieldName] != null) { InfoFormat = json[InfoFormatFieldName].ToObject <string>(); } if (json[ContextDataFieldName] != null) { string contextDataString = json[ContextDataFieldName].ToObject <string>(); if (decode) { ContextData = IoMessageUtils.DecodeBase64(contextDataString.GetBytes()); } else { ContextData = contextDataString.GetBytes(); } } if (json[ContentDataFieldName] != null) { string contentDataString = json[ContentDataFieldName].ToObject <string>(); if (decode) { ContentData = IoMessageUtils.DecodeBase64(contentDataString.GetBytes()); } else { ContentData = contentDataString.GetBytes(); } } }