public override void DeserializeToken (JSONReader JSONReader, string Tag) {
switch (Tag) {
case "TransactionID" : {
TransactionID = JSONReader.ReadString ();
break;
}
case "PrimaryKey" : {
PrimaryKey = JSONReader.ReadString ();
break;
}
case "PriorTransactionID" : {
PriorTransactionID = JSONReader.ReadString ();
break;
}
case "Action" : {
Action = JSONReader.ReadString ();
break;
}
case "Added" : {
Added = JSONReader.ReadDateTime ();
break;
}
case "Keys" : {
// Have a sequence of values
bool _Going = JSONReader.StartArray ();
Keys = new List <IndexTerm> ();
while (_Going) {
var _Item = IndexTerm.FromTagged (JSONReader); // a tagged structure
Keys.Add (_Item);
_Going = JSONReader.NextArray ();
}
break;
}
case "Data" : {
Data = JSONReader.ReadBinary ();
break;
}
case "Text" : {
Text = JSONReader.ReadString ();
break;
}
case "Pending" : {
Pending = JSONReader.ReadBoolean ();
break;
}
case "Commit" : {
Commit = JSONReader.ReadBoolean ();
break;
}
case "Rollback" : {
Rollback = JSONReader.ReadBoolean ();
break;
}
default : {
break;
}
}
// check up that all the required elements are present
}