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);
        }
Esempio n. 7
0
        /// <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;
        }
Esempio n. 10
0
        /// <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);
        }
Esempio n. 11
0
        /// <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;
        }
Esempio n. 15
0
 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);
     }
 }
Esempio n. 16
0
 // 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));
Esempio n. 17
0
 // 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));
Esempio n. 18
0
 /// <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 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 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;
             }
         }
     }
 }