Exemple #1
0
        protected override void AddBindable <TBindable>(TLookup lookup, Bindable <TBindable> bindable)
        {
            base.AddBindable(lookup, bindable);

            var setting = databasedSettings.Find(s => s.Key == lookup.ToString());

            if (setting != null)
            {
                bindable.Parse(setting.Value);
            }
            else
            {
                setting = new RealmRulesetSetting
                {
                    Key       = lookup.ToString(),
                    Value     = bindable.Value.ToString(),
                    RulesetID = rulesetId,
                    Variant   = variant,
                };

                realmFactory?.Context.Write(() => realmFactory.Context.Add(setting));

                databasedSettings.Add(setting);
            }

            bindable.ValueChanged += b =>
            {
                realmFactory?.Context.Write(() => setting.Value = b.NewValue.ToString());
            };
        }
Exemple #2
0
        protected override void AddBindable <TBindable>(TLookup lookup, Bindable <TBindable> bindable)
        {
            base.AddBindable(lookup, bindable);

            var setting = databasedSettings.Find(s => s.Key == lookup.ToString());

            if (setting != null)
            {
                bindable.Parse(setting.Value);
            }
            else
            {
                setting = new RealmRulesetSetting
                {
                    Key         = lookup.ToString(),
                    Value       = bindable.Value.ToString(),
                    RulesetName = rulesetName,
                    Variant     = variant,
                };

                realm?.Realm.Write(() => realm.Realm.Add(setting));

                databasedSettings.Add(setting);
            }

            bindable.ValueChanged += b =>
            {
                lock (pendingWrites)
                    pendingWrites.Add(lookup);
            };
        }