Exemplo n.º 1
0
        protected virtual void OnLoadCompleted(ProviderEntry entry, Dictionary <string, object> dict)
        {
            if (dict == null || dict.Count <= 0)
            {
                return;
            }

            lock (_lock)
            {
                var keys = entry.Keys;
                keys.Clear();

                foreach (KeyValuePair <string, object> kv in dict)
                {
                    var key   = kv.Key;
                    var value = kv.Value;
                    IObservableProperty property;
                    keys.Add(key);
                    if (data.TryGetValue(key, out property))
                    {
                        property.Value = value;
                    }
                    else
                    {
                        property  = new ObservableProperty(value);
                        data[key] = property;
                    }
                }
            }
        }
Exemplo n.º 2
0
        public virtual void AddDataProvider(IDataProvider provider)
        {
            if (provider == null)
            {
                return;
            }

            lock (_lock)
            {
                if (this.providers.Exists(e => e.Provider == provider))
                {
                    return;
                }

                var entry = new ProviderEntry(provider);
                provider.Load(this.CultureInfo, dict => OnLoadCompleted(entry, dict));
                this.providers.Add(entry);
            }
        }
Exemplo n.º 3
0
        protected virtual async Task DoAddDataProvider(IDataProvider provider)
        {
            if (provider == null)
            {
                return;
            }

            var entry = new ProviderEntry(provider);

            lock (_lock)
            {
                if (this.providers.Exists(e => e.Provider == provider))
                {
                    return;
                }
                this.providers.Add(entry);
            }

            await this.Load(entry);
        }
Exemplo n.º 4
0
        protected virtual void OnLoadCompleted(ProviderEntry entry, Dictionary <string, object> dict)
        {
            if (dict == null || dict.Count <= 0)
            {
                return;
            }

            lock (_lock)
            {
                var keys = entry.Keys;
                keys.Clear();

                foreach (KeyValuePair <string, object> kv in dict)
                {
                    var key   = kv.Key;
                    var value = kv.Value;
                    keys.Add(key);
                    AddValue(key, value);
                }
            }
        }