private bool TryLoad(string fileName = null) { fileName = GetFileName(fileName); Log.Info("Loading filter schemes from '{0}'", fileName); FilterSchemes = new FilterSchemes(); try { if (File.Exists(fileName)) { using (var stream = File.Open(fileName, FileMode.Open)) { _xmlSerializer.Deserialize(FilterSchemes, stream, null); } } Log.Debug("Loaded filter schemes from '{0}'", fileName); } catch (Exception ex) { Log.Error(ex, "Failed to load filter schemes"); return(false); } FilterSchemes.Scope = Scope; return(true); }
public async virtual Task <FilterSchemes> LoadFiltersAsync(string fileName) { Argument.IsNotNullOrWhitespace(() => fileName); Log.Info($"Loading filter schemes from '{fileName}'"); var filterSchemes = new FilterSchemes(); try { if (_fileService.Exists(fileName)) { using (var stream = _fileService.OpenRead(fileName)) { _xmlSerializer.Deserialize(filterSchemes, stream, null); } } Log.Debug("Loaded filter schemes from '{0}'", fileName); } catch (Exception ex) { Log.Error(ex, "Failed to load filter schemes"); } return(filterSchemes); }
public FilterSchemeManager(IXmlSerializer xmlSerializer) { Argument.IsNotNull(() => xmlSerializer); _xmlSerializer = xmlSerializer; AutoSave = true; FilterSchemes = new FilterSchemes(); }
public override async Task SaveFiltersAsync(string path, FilterSchemes filterSchemes) { // Create clone with filters we want to serialize var finalFilterSchemes = new FilterSchemes(); finalFilterSchemes.Schemes.AddRange(from x in filterSchemes.Schemes where x.FilterGroup is null select x); await base.SaveFiltersAsync(path, finalFilterSchemes); }
public FilterSchemeManager(IFilterSerializationService filterSerializationService, IAppDataService appDataService) { Argument.IsNotNull(() => filterSerializationService); Argument.IsNotNull(() => appDataService); _filterSerializationService = filterSerializationService; _appDataService = appDataService; AutoSave = true; FilterSchemes = new FilterSchemes(); }
private void UpdateFilters() { Log.Debug("Updating filters"); if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged -= OnFilterSchemesCollectionChanged; } _filterSchemes = _filterSchemeManager?.FilterSchemes; if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged += OnFilterSchemesCollectionChanged; } UpdateFilterGroups(); }
private void UpdateFilters() { Log.Debug("Updating filters"); if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged -= OnFilterSchemesCollectionChanged; } _filterSchemes = _filterSchemeManager.FilterSchemes; if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged += OnFilterSchemesCollectionChanged; } var newSchemes = new ObservableCollection <FilterScheme>(); if (RawCollection == null) { _targetType = null; } else { _targetType = CollectionHelper.GetTargetType(RawCollection); if (_targetType != null) { ((ICollection <FilterScheme>)newSchemes).AddRange((from scheme in _filterSchemes.Schemes where scheme.TargetType != null && _targetType.IsAssignableFromEx(scheme.TargetType) select scheme)); } } newSchemes.Insert(0, NoFilterFilter); if (AvailableSchemes == null || !Catel.Collections.CollectionHelper.IsEqualTo(AvailableSchemes, newSchemes)) { AvailableSchemes = newSchemes; var selectedFilter = _filterService.SelectedFilter ?? NoFilterFilter; SelectedFilterScheme = selectedFilter; } }
public async virtual Task SaveFiltersAsync(string fileName, FilterSchemes filterSchemes) { Argument.IsNotNullOrWhitespace(() => fileName); Argument.IsNotNull(() => filterSchemes); Log.Info($"Saving filter schemes to '{fileName}'"); try { using (var stream = _fileService.OpenWrite(fileName)) { _xmlSerializer.Serialize(filterSchemes, stream, null); } Log.Debug("Saved filter schemes to '{0}'", fileName); } catch (Exception ex) { Log.Error(ex, "Failed to save filter schemes"); } }
private void UpdateFilters() { if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged -= OnFilterSchemesCollectionChanged; } _filterSchemes = _filterSchemeManager.FilterSchemes; if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged += OnFilterSchemesCollectionChanged; } var newSchemes = new ObservableCollection <FilterScheme>(); if (RawItems == null) { _targetType = null; } else { _targetType = CollectionHelper.GetTargetType(RawItems); ((ICollection <FilterScheme>)newSchemes).AddRange(from scheme in _filterSchemes.Schemes where _targetType != null && _targetType.IsAssignableFromEx(scheme.TargetType) select scheme); } newSchemes.Insert(0, NoFilterFilter); if (AvailableSchemes == null || !Catel.Collections.CollectionHelper.IsEqualTo(AvailableSchemes, newSchemes)) { AvailableSchemes = newSchemes; SelectedFilterScheme = newSchemes.FirstOrDefault(); } }
private void UpdateFilters() { Log.Debug("Updating filters"); if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged -= OnFilterSchemesCollectionChanged; } _filterSchemes = _filterSchemeManager.FilterSchemes; if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged += OnFilterSchemesCollectionChanged; } var newSchemes = new ObservableCollection<FilterScheme>(); if (RawCollection == null) { _targetType = null; } else { _targetType = CollectionHelper.GetTargetType(RawCollection); if (_targetType != null) { ((ICollection<FilterScheme>)newSchemes).AddRange((from scheme in _filterSchemes.Schemes where scheme.TargetType != null && _targetType.IsAssignableFromEx(scheme.TargetType) select scheme)); } } newSchemes.Insert(0, NoFilterFilter); if (AvailableSchemes == null || !Catel.Collections.CollectionHelper.IsEqualTo(AvailableSchemes, newSchemes)) { AvailableSchemes = newSchemes; var selectedFilter = _filterService.SelectedFilter ?? NoFilterFilter; SelectedFilterScheme = selectedFilter; } }
private void UpdateFilters() { if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged -= OnFilterSchemesCollectionChanged; } _filterSchemes = _filterSchemeManager.FilterSchemes; if (_filterSchemes != null) { _filterSchemes.Schemes.CollectionChanged += OnFilterSchemesCollectionChanged; } var newSchemes = new ObservableCollection<FilterScheme>(); if (RawItems == null) { _targetType = null; } else { _targetType = CollectionHelper.GetTargetType(RawItems); newSchemes.AddRange((from scheme in _filterSchemes.Schemes where _targetType != null && _targetType.IsAssignableFromEx(scheme.TargetType) select scheme)); } newSchemes.Insert(0, NoFilterFilter); if (AvailableSchemes == null || !Catel.Collections.CollectionHelper.IsEqualTo(AvailableSchemes, newSchemes)) { AvailableSchemes = newSchemes; SelectedFilterScheme = newSchemes.FirstOrDefault(); } }
private bool TryLoad(string fileName = null) { fileName = GetFileName(fileName); Log.Info("Loading filter schemes from '{0}'", fileName); FilterSchemes = new FilterSchemes(); try { if (File.Exists(fileName)) { using (var stream = File.Open(fileName, FileMode.Open)) { _xmlSerializer.Deserialize(FilterSchemes, stream); } } Log.Debug("Loaded filter schemes from '{0}'", fileName); } catch (Exception ex) { Log.Error(ex, "Failed to load filter schemes"); return false; } FilterSchemes.Tag = Tag; foreach (var filterScheme in FilterSchemes.Schemes) { filterScheme.Tag = Tag; } return true; }