public override bool Write(IDataModel model, ModelDelta token, int start, ref string data) { if (data.StartsWith("(") && data.EndsWith(")")) { data = data.Substring(1, data.Length - 2); } var remainder = string.Empty; if (Type != ElementContentType.PCS) { var tokens = TableStreamRun.Tokenize(data); remainder = ", ".Join(tokens.Skip(1)); data = tokens[0]; } data = data.Trim(); if (data.StartsWith("0x")) { data = data.Substring(2); } if (!int.TryParse(data, NumberStyles.HexNumber, CultureInfo.CurrentCulture, out var intValue)) { intValue = 0; } data = remainder; return(model.WriteMultiByteValue(start, Length, token, intValue)); }
public override bool Write(IDataModel model, ModelDelta token, int start, ref string data) { if (data.StartsWith("(") && data.EndsWith(")")) { data = data.Substring(1, data.Length - 2); } var tokens = TableStreamRun.Tokenize(data); var remainder = ", ".Join(tokens.Skip(1)); if (tokens.Count == 0) { return(false); } data = tokens[0]; bool result; if (!TryParse(model, data, out int value)) { result = base.Write(model, token, start, ref data); } else { data = value.ToString(); result = base.Write(model, token, start, ref data); } data = remainder; return(result); }