public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var wrapper = new SelectedIndexWrapper(value); var token = JToken.FromObject(wrapper.SelectedIndex); token.WriteTo(writer); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var wrapper = new SelectedIndexWrapper(value); var jo = new JObject { { "SelectedIndex", wrapper.SelectedIndex } }; jo.WriteTo(writer); }
public SetSelectedIndexAction(IRef context, object value) { Context = context; SelectedIndexContext = new ProxyRef <int>( () => Context.Value is not null ? new SelectedIndexWrapper(Context.Value).SelectedIndex : 0, o => { if (Context.Value is not null) { new SelectedIndexWrapper(Context.Value).SelectedIndex = o; } }); Value = new SelectedIndexWrapper(value).SelectedIndex; Original = SelectedIndexContext.Value; }
public override object?ReadJson(JsonReader reader, Type objectType, object?existingValue, JsonSerializer serializer) { try { existingValue ??= _settingsFormat.FindExistingValue(reader.Path); if (existingValue is null) { return(null); } var wrapper = new SelectedIndexWrapper(existingValue); var token = JToken.Load(reader); wrapper.SelectedIndex = int.TryParse(token["SelectedIndex"].ToString(), out var res) ? res : wrapper.SelectedIndex; } catch (Exception e) { _logger.LogError(e, "Error while deserializing Dropdown"); } return(existingValue); }