public CollectionViewModel() { BackCommandVisibility = Visibility.Visible; CollectionCommandVisibility = Visibility.Collapsed; FirstPageCommand = new RelayCommand(OnFirstPageCommand, FirstPageCommandEnabled); PreviousPageCommand = new RelayCommand(OnPreviousPageCommand, PreviousCommandEnabled); NextPageCommand = new RelayCommand(OnNextPageCommand, NextCommandEnabled); LastPageCommand = new RelayCommand(OnLastPageCommand, LastPageCommandEnabled); ApplyFilterCommand = new RelayCommand(OnApplyFilterCommand); ClearFilterCommand = new RelayCommand(OnClearFilterCommand); _CollectionFilterParameters = new CollectionFilterParameters(); SetupFilters(); var bulkOrderDeeds = new List <BulkOrderDeedViewModel>(); foreach (var bulkOrderDeed in BulkOrderDeedManager.Instance.GetFilteredCollection(_CollectionFilterParameters)) { if (bulkOrderDeed is SmallCollectionBulkOrderDeed smallCollectionBulkOrderDeed) { bulkOrderDeeds.Add(new SmallBulkOrderDeedViewModel(smallCollectionBulkOrderDeed)); } else if (bulkOrderDeed is LargeCollectionBulkOrderDeed largeCollectionBulkOrderDeed) { bulkOrderDeeds.Add(new LargeBulkOrderDeedViewModel(largeCollectionBulkOrderDeed)); } } _AllBulkOrderDeeds = new List <BulkOrderDeedViewModel>(); _BulkOrderDeeds = new ObservableCollection <BulkOrderDeedViewModel>(); RefreshIfNecessary(); BulkOrderDeedManager.Instance.BulkOrderDeedCollectionItemsAdded += BulkOrderDeedCollectionItemsAdded; BulkOrderDeedManager.Instance.BulkOrderDeedCollectionItemsRemoved += BulkOrderDeedCollectionItemsRemoved; BulkOrderDeedManager.Instance.VendorAdded += VendorAdded; BulkOrderDeedManager.Instance.VendorRemoved += VendorRemoved; BulkOrderDeedManager.Instance.BulkOrderDeedBookAdded += BulkOrderDeedBookAdded; BulkOrderDeedManager.Instance.BulkOrderDeedBookRemoved += BulkOrderDeedBookRemoved; var importPlugins = new List <ImportPluginViewModel>(); foreach (var importPlugin in BulkOrderDeedManager.Instance.ImportPlugins) { var importPluginViewModel = new ImportPluginViewModel(importPlugin); importPluginViewModel.ImportCompleted += ImportCompleted; importPlugins.Add(importPluginViewModel); } _ImportPlugins = new ObservableCollection <ImportPluginViewModel>(importPlugins); }
private bool ApplyCollectionFilterImpl(CollectionFilterParameters parameters, CollectionBulkOrderDeed bulkOrderDeed) { var retVal = true; foreach (var parameter in parameters.GetAppliedFilters()) { if (!parameter.ApplyFilter(bulkOrderDeed)) { retVal = false; break; } } return(retVal); }
public IEnumerable <CollectionBulkOrderDeed> GetFilteredCollection(CollectionFilterParameters parameters) { var parametersCopy = parameters.Clone(); var retVal = new List <CollectionBulkOrderDeed>(); foreach (var bulkOrderDeed in _Collection) { if (!ApplyCollectionFilterImpl(parametersCopy, bulkOrderDeed)) { continue; } retVal.Add(bulkOrderDeed); } return(retVal.AsReadOnly()); }
public bool ApplyCollectionFilter(CollectionFilterParameters parameters, CollectionBulkOrderDeed bulkOrderDeed) { var parametersCopy = parameters.Clone(); return(ApplyCollectionFilterImpl(parametersCopy, bulkOrderDeed)); }