private void FieldDescriptionsProvider_GetDescriptionsDataAsyncCompleted(object sender, GetDescriptionsDataCompletedEventArgs e) { var filedDescriptionProvider = sender as IFieldDescriptionProvider; this.StopListeningForGetDescriptionsData(filedDescriptionProvider); IDataProvider provider = this; if (provider.FieldDescriptionsProvider != filedDescriptionProvider) { return; } if (e.Error == null) { this.descriptionsData = e.DescriptionsData; this.InitializeDescriptions(); this.OnStatusChanged(new DataProviderStatusChangedEventArgs(DataProviderStatus.DescriptionsReady, false, null)); if (this.refreshRequested) { this.Refresh(); } } else { this.OnStatusChanged(new DataProviderStatusChangedEventArgs(DataProviderStatus.Uninitialized, false, e.Error)); } }
protected void RefreshFieldDescriptions() { this.descriptionsData = null; IDataProvider provider = this as IDataProvider; if (this.FieldDescriptionsReadyForUpdate) { this.OnStatusChanged(new DataProviderStatusChangedEventArgs(DataProviderStatus.Initializing, false, null)); provider.FieldDescriptionsProvider.GetDescriptionsDataAsyncCompleted += this.FieldDescriptionsProvider_GetDescriptionsDataAsyncCompleted; provider.FieldDescriptionsProvider.GetDescriptionsDataAsync(this.State); } }
public void GetDescriptionsDataAsync() { Exception ex = null; try { this.GetDescriptionsDataAsync(null); } catch (Exception e) { ex = e; this.data = new EmptyFieldInfoData(); } this.OnDescriptionsDataCompleted(new GetDescriptionsDataCompletedEventArgs(ex, null, this.data)); }
protected void RefreshFieldDescriptions() { this.descriptionsData = null; IDataProvider provider = this; if (this.FieldDescriptionsProvider != null && !this.FieldDescriptionsProvider.IsBusy) { if (this.ItemsSource != null) { this.OnStatusChanged(new DataProviderStatusChangedEventArgs(DataProviderStatus.Initializing, false, null)); provider.FieldDescriptionsProvider.GetDescriptionsDataAsyncCompleted += this.FieldDescriptionsProvider_GetDescriptionsDataAsyncCompleted; } provider.FieldDescriptionsProvider.GetDescriptionsDataAsync(this.State); } }
private void GetDescriptionsData() { Exception error = null; try { this.IsBusy = true; this.data = this.GenerateDescriptionsData(); } catch (Exception e) { error = e; this.data = new EmptyFieldInfoData(); } finally { this.OnDescriptionsDataCompleted(new GetDescriptionsDataCompletedEventArgs(error, this.CurrentState, this.data)); } }
internal static void UpdateFilterMemberAccess(IFieldInfoData data, IEnumerable <FilterDescriptorBase> descriptors) { foreach (var filterDescriptor in descriptors) { var propertyFilterDescriptor = filterDescriptor as PropertyFilterDescriptor; if (propertyFilterDescriptor != null) { IDataFieldInfo field = data.GetFieldDescriptionByMember(propertyFilterDescriptor.PropertyName); if (field != null) { propertyFilterDescriptor.MemberAccess = field as IMemberAccess; } } else { var compositeFilter = filterDescriptor as CompositeFilterDescriptor; if (compositeFilter != null) { UpdateFilterMemberAccess(data, compositeFilter.Descriptors); } } } }
private static void InitializeMemberAccess(IEnumerable <DescriptionBase> descriptions, IFieldInfoData fieldInfoData) { IMemberAccess access; foreach (var item in descriptions) { access = fieldInfoData.GetFieldDescriptionByMember(item.GetMemberName()) as IMemberAccess; if (access != null) { item.MemberAccess = access; } } }
/// <summary> /// Initializes a new instance of the <see cref="GetDescriptionsDataCompletedEventArgs"/> class. /// </summary> public GetDescriptionsDataCompletedEventArgs(Exception error, object userState, IFieldInfoData data) { if (data == null) { throw new ArgumentNullException("data"); } this.DescriptionsData = data; this.Error = error; this.State = userState; }
public override void GetDescriptionsDataAsync(object state) { this.data = this.ActionToExecuteAsync(); }