Example #1
0
 public EditViewModel(ILibraryService libraryService, IEventAggregator eventAggregator)
 {
     this._eventAggregator = eventAggregator;
     var orderedEnumerable = libraryService.GetObjectsFromFile().Videos.OrderBy(v=>v.Category).ToList();
     this.Videos = new ObservableCollection<Video>(orderedEnumerable);
     this.SelectedVideo = this.Videos.FirstOrDefault();
 }
 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 PlayListViewModel(IPlayListView view, IEventAggregator eventAggregator, ILibraryService libraryService)
            : base(view)
        {
            this._libraryService = libraryService;
            this.Playlist = new ObservableCollection<Video>();

            this.RemoveCommand = new DelegateCommand(() => this.Remove(this.CurrentVideo));

            this.AddCommand = new DelegateCommand<Video>(this.Add);
            this.AddRangeCommand = new DelegateCommand<IEnumerable<Video>>(this.Add);
            this.SavePlaylistCommand = new DelegateCommand(this.Save);

            eventAggregator.GetEvent<OnAddVideo>().Subscribe(this.Add);
            eventAggregator.GetEvent<OnAddVideoRange>().Subscribe(this.Add);

            eventAggregator.GetEvent<OnPlayPlaylistRequest>()
                .Subscribe(dummy => { eventAggregator.GetEvent<OnPlayPlaylist>().Publish(this.Playlist); }, true);

            this._playListCollection = new ObservableCollection<Playlist>(libraryService.GetObjectsFromFile().PlayLists);
        }
 private void CreateTags(ILibraryService libraryService)
 {
     this.Tags.Clear();
     var videos = libraryService.GetObjectsFromFile()
         .Videos;
     IEnumerable<Tag> tags = videos
         .SelectMany(v => v.Tags)
         .Distinct()
         .OrderBy(t=>t.Value);
     foreach (var tag in tags)
     {
         this.Tags.Add(tag);
     }
 }
 private void CreateCategories(ILibraryService libraryService)
 {
     this.CategoryViewModels.Clear();
     IEnumerable<IGrouping<string, Video>> categories =
         libraryService.GetObjectsFromFile()
             .Videos.Where(v => !String.IsNullOrEmpty(v.Category))
             .GroupBy(v => v.Category)
             .OrderBy(g=>g.Key);
     foreach (var category in categories)
     {
         this.CategoryViewModels.Add(new CategoryViewModel
         {
             Name = category.Key,
             Count = category.Count()
         });
     }
     if (this.CategoryViewModels.Any())
     {
         CategoryViewModel vm = this.CategoryViewModels.First();
         if (this.Video != null && !String.IsNullOrEmpty(this.Video.Category))
         {
             vm = this.CategoryViewModels.FirstOrDefault(c => c.Name == this.Video.Category);
         }
         this.SelectedCategory = vm;
     }
 }