public void SelectNextPlaylistItem() { if (playlistItems.Count > 0) { if (playlistItems.Count == 1) { CurrentPlaylistItem = currentPlaylistItem; } else { var index = playlistItems.IndexOf(currentPlaylistItem); if (index == -1) { CurrentPlaylistItem = playlistItems.FirstOrDefault(); return; } else { var lastIndex = playlistItems.Count - 1; if (index < lastIndex) { CurrentPlaylistItem = playlistItems.ElementAtOrDefault(index + 1); } else { CurrentPlaylistItem = playlistItems.FirstOrDefault(); } } } } }
public void InsertPlaylistItem(int index, IPlaylistItemViewModel item) { if (item == null) throw new ArgumentNullException("item"); playlistItems.Insert(index, item); }
public void AddPlaylistItem(IPlaylistItemViewModel item) { if (item == null) throw new ArgumentNullException("item"); playlistItems.Add(item); }
public void SelectPreviousPlaylistItem() { if (playlistItems.Count > 0) { if (playlistItems.Count == 1) { CurrentPlaylistItem = currentPlaylistItem; } else { var index = playlistItems.IndexOf(currentPlaylistItem); switch (index) { case -1: CurrentPlaylistItem = playlistItems.FirstOrDefault(); return; case 0: CurrentPlaylistItem = playlistItems.LastOrDefault(); return; default: CurrentPlaylistItem = playlistItems.ElementAtOrDefault(index - 1); return; } } } }
public void RemovePlaylistItem(IPlaylistItemViewModel item) { if (item == null) throw new ArgumentNullException("item"); if (playlistItems.Contains(item)) playlistItems.Remove(item); }
public void AddPlaylistItem(IPlaylistItemViewModel item) { if (item == null) { throw new ArgumentNullException("item"); } playlistItems.Add(item); }
/// <summary> /// Inserts an item to the container at the specified index. /// </summary> /// <param name="index">The index where the item should be inserted.</param> /// <param name="item">The item to insert.</param> public void Insert(int index, IPlaylistItemViewModel item) { Items.Insert(index, item); InnerContainer.Insert(index, item.Model); Notify(nameof(Count)); Notify(IndexerName); CollectionAdded(index, item); }
public void InsertPlaylistItem(int index, IPlaylistItemViewModel item) { if (item == null) { throw new ArgumentNullException("item"); } playlistItems.Insert(index, item); }
public void SelectPlaylistItem(IPlaylistItemViewModel item) { if (item == null) throw new ArgumentNullException("item"); if (!playlistItems.Contains(item)) throw new ArgumentException("Cannot select playlist item, it is not contained in this playlist"); CurrentPlaylistItem = item; }
/// <summary> /// Removes the playlist item at the specified index. /// </summary> /// <param name="index">The index where the item should be removed.</param> public void RemoveAt(int index) { IPlaylistItemViewModel item = Items[index]; Items.RemoveAt(index); InnerContainer.RemoveAt(index); Notify(nameof(Count)); Notify(IndexerName); CollectionRemoved(index, item); }
/// <summary> /// Removes the first occurrence of an item in the container. /// </summary> /// <param name="item">The item to remove.</param> /// <returns>true if the item has been removed, false otherwise</returns> public bool Remove(IPlaylistItemViewModel item) { int index = Items.IndexOf(item); if (index < 0) { return(false); } RemoveAt(index); return(true); }
public void RemovePlaylistItem(IPlaylistItemViewModel item) { if (item == null) { throw new ArgumentNullException("item"); } if (playlistItems.Contains(item)) { playlistItems.Remove(item); } }
public void SelectItem(IPlaylistItemViewModel item) { try { task.Stop(); playlist.SelectPlaylistItem(item); task.UpdateItem(item.ToTaskItem()); task.Start(); } catch (Exception ex) { logger.Error(" PlaylistController.SelectItem", ex); } }
public void SelectPlaylistItem(IPlaylistItemViewModel item) { if (item == null) { throw new ArgumentNullException("item"); } if (!playlistItems.Contains(item)) { throw new ArgumentException("Cannot select playlist item, it is not contained in this playlist"); } CurrentPlaylistItem = item; }
// notifies about the new item being added to the container private void CollectionAdded(int index, IPlaylistItemViewModel item) => CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, item, index));
// notifies about the items being replaced in the container private void CollectionReplaced(int index, IPlaylistItemViewModel oldItem, IPlaylistItemViewModel newItem) => CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Replace, newItem, oldItem, index));
/// <summary> /// Adds an item to the container. /// </summary> /// <param name="item">The item to add.</param> public void Add(IPlaylistItemViewModel item) => Insert(Items.Count, item);
public void SelectPreviousPlaylistItem() { if (playlistItems.Count > 0) { if (playlistItems.Count == 1) { CurrentPlaylistItem = currentPlaylistItem; } else { var index = playlistItems.IndexOf(currentPlaylistItem); switch (index) { case -1: CurrentPlaylistItem = playlistItems.FirstOrDefault(); return; case 0: CurrentPlaylistItem = playlistItems.LastOrDefault(); return; default: CurrentPlaylistItem = playlistItems.ElementAtOrDefault(index -1); return; } } } }