public void Restore(SimpleAccountState state) { Balance = state.Balance; }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.TokenType == JsonToken.String) { var value = reader.Value as string; if (value == null) { return(null); } var state = new SimpleAccountState(); state.Index = value; return(state); } else if (reader.TokenType == JsonToken.StartObject) { var stateObject = JObject.Load(reader); var entryTypeNode = stateObject["LedgerEntryType"]; if (entryTypeNode == null) { return(null); } AccountState state; var entryType = entryTypeNode.Value <string>(); switch (entryType) { case "LedgerHashes": state = new LedgerHashesAccountState(); break; case "AccountRoot": state = new AccountRootAccountState(); break; case "State": state = new StateAccountState(); break; case "FeeSettings": state = new FeeSettingsAccountState(); break; case "DirectoryNode": state = new DirectoryNodeAccountState(); break; case "SkywellState": state = new SkywellStateAccountState(); break; case "ManageIssuer": state = new ManageIssuerAccountState(); break; default: state = new UnknownAccountState(entryType); break; } serializer.Populate(stateObject.CreateReader(), state); state.RawData = stateObject.ToString(); return(state); } return(null); }