public ODataVirtualDataSourceDataProviderWorker(ODataVirtualDataSourceDataProviderWorkerSettings settings) : base(settings) { _baseUri = settings.BaseUri; _entitySet = settings.EntitySet; _sortDescriptions = settings.SortDescriptions; _filterExpressions = settings.FilterExpressions; _desiredPropeties = settings.PropertiesRequested; _groupDescriptions = settings.GroupDescriptions; if (_groupDescriptions != null && _groupDescriptions.Count > 0) { _sortDescriptions = new SortDescriptionCollection(); foreach (var sd in settings.SortDescriptions) { _sortDescriptions.Add(sd); } for (var i = 0; i < _groupDescriptions.Count; i++) { _sortDescriptions.Insert(i, _groupDescriptions[i]); } } _isAggregationSupportedByServer = settings.IsAggregationSupportedByServer; Task.Factory.StartNew(() => DoWork(), TaskCreationOptions.LongRunning); }
public SQLiteVirtualDataSourceDataProviderWorker(SQLiteVirtualDataSourceDataProviderWorkerSettings settings) : base(settings) { _tableExpression = settings.TableExpression; _projectionType = settings.ProjectionType; _selectExpressionOverride = settings.SelectExpressionOverride; _connection = settings.Connection; _sortDescriptions = settings.SortDescriptions; _groupDescriptions = settings.GroupDescriptions; _groupingField = settings.GroupingColumn; if (_groupDescriptions != null && _groupDescriptions.Count > 0) { _sortDescriptions = new SortDescriptionCollection(); foreach (var sd in settings.SortDescriptions) { _sortDescriptions.Add(sd); } for (var i = 0; i < _groupDescriptions.Count; i++) { _sortDescriptions.Insert(i, _groupDescriptions[i]); } } _filterExpressions = settings.FilterExpressions; _desiredPropeties = settings.PropertiesRequested; _propertyMappings = ResolvePropertyMappings(); ActualSchema = ResolveSchema(); if (_groupDescriptions != null && _groupDescriptions.Count > 0) { _groupInformation = ResolveGroupInformation(); } Task.Factory.StartNew(() => DoWork(), TaskCreationOptions.LongRunning); }
public ODataVirtualDataSourceDataProvider() { _sortDescriptions = new SortDescriptionCollection(); _sortDescriptions.CollectionChanged += SortDescriptions_CollectionChanged; _filterExpressions = new FilterExpressionCollection(); _filterExpressions.CollectionChanged += FilterExpressions_CollectionChanged; }
public ODataVirtualDataSourceDataProvider() { _sortDescriptions = new SortDescriptionCollection(); _groupDescriptions = new SortDescriptionCollection(); _sortDescriptions.CollectionChanged += SortDescriptions_CollectionChanged; _groupDescriptions.CollectionChanged += GroupDescriptions_CollectionChanged; _filterExpressions = new FilterExpressionCollection(); _filterExpressions.CollectionChanged += FilterExpressions_CollectionChanged; }
public void Refresh(bool savePreviousFilter = true) { if (bRefresh != null) { bRefresh.IsEnabled = false; } FilterExpressionCollection filterExpressions = null; if (_source != null) { //Сохраняем прежний фильтр if (savePreviousFilter) { filterExpressions = _source.FilterExpressions; } DataSource = null; _source.Dispose(); } if (BeforeRefresh != null) { BeforeRefresh(this, EventArgs.Empty); } //Dispatcher.BeginInvoke((Action) (() => //{ RecreateSource(); if (savePreviousFilter && _source != null && _source.FilterExpressions != null && filterExpressions != null) { //Фосстанавливаем прежний фильтр foreach (var fe in filterExpressions) { _source.FilterExpressions.Add(fe); } } //})); }
public ODataVirtualDataSourceDataProviderWorker(ODataVirtualDataSourceDataProviderWorkerSettings settings) :base(settings) { _baseUri = settings.BaseUri; _entitySet = settings.EntitySet; _sortDescriptions = settings.SortDescriptions; _filterExpressions = settings.FilterExpressions; _desiredPropeties = settings.PropertiesRequested; Task.Factory.StartNew(() => DoWork(), TaskCreationOptions.LongRunning); }