public TagsListViewModel(ITagsListView view, ILibraryService libraryService, IEventAggregator eventAggregator) : base(view) { this._eventAggregator = eventAggregator; this.SelectedTags = new ObservableCollection<CategoryViewModel>(); this.Tags = new ObservableCollection<CategoryViewModel>(); var videos = libraryService.GetObjectsFromFile().Videos; IEnumerable<String> tags = videos.SelectMany(v => v.Tags).Select(t => t.Value).Distinct().OrderBy(t => t); foreach (var tag in tags) { this.Tags.Add(new CategoryViewModel { Name = tag, Count = videos.Count(v => v.Tags.Any(t => t.Value == tag)) }); } }
public TagsListMediator(ITagsListView view) : base(view) { this.Target = view; }