public DocumentFilterViewModel(DocumentFilter filter, DocumentBrowserViewModel documentBrowserViewModel) { if (filter == null) { throw new ArgumentNullException(nameof(filter)); } if (documentBrowserViewModel == null) { throw new ArgumentNullException(nameof(documentBrowserViewModel)); } this.Filter = filter; var filterEntries = filter.Entries; this.Entries = new DocumentFilterEntryViewModel[filterEntries.Length]; for (var i = 0; i < filterEntries.Length; i++) { this.Entries[i] = new DocumentFilterEntryViewModel(filter.Property, filterEntries[i], documentBrowserViewModel); } }
public DocumentFilterEntryViewModel(DocumentProperty property, DocumentFilterEntry entry, DocumentBrowserViewModel documentBrowserViewModel) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (documentBrowserViewModel == null) { throw new ArgumentNullException(nameof(documentBrowserViewModel)); } this.Property = property; this.Entry = entry; this.DocumentBrowserViewModel = documentBrowserViewModel; this.AddCommand = new ActionCommand(() => { this.IsSelected = true; this.DocumentBrowserViewModel.Add(this); }); this.RemoveCommand = new ActionCommand(() => { this.IsSelected = false; this.DocumentBrowserViewModel.Remove(this); }); }