Ejemplo n.º 1
0
        void LoaderComplete(IAsyncLoader loader, IDataPortalResult e)
        {
            // remove from loading list
            lock (_syncRoot)
            {
                _loading.Remove(loader);
            }

            // no error then load new property value and notify property changed
            if (e.Error == null)
            {
                _target.LoadProperty(loader.Property, e.Object);
                _onPropertyChanged(loader.Property);
            }

            // mark property as not busy
            OnPropertyBusy(loader.Property.Name, false);

            // if error raise OnUnhandledAsyncException event
            if (e.Error != null)
            {
                OnUnhandledAsyncException(this, new AsyncLoadException(loader.Property, string.Format(Resources.AsyncLoadException, loader.Property.FriendlyName), e.Error));
            }
        }