private void CreateRandomMediaList()
        {
            mediaRandomList.Clear();
            mediaList.Clear();

            int beginningIndex = 0;

            if (SelectedMedia != null)
            {
                mediaRandomList.Add(SelectedMedia);
                SelectedMedia.Status = !mediaItems.Contains(SelectedMedia) ? MediaStates.SelectedButDisabled : MediaStates.Selected;
                beginningIndex       = 1;
            }


            foreach (MediaBase item in mediaItems)
            {
                if (item == SelectedMedia)
                {
                    continue;
                }

                int index = new Random().Next(beginningIndex, mediaRandomList.Count);
                if (item.Status != MediaStates.Disabled)
                {
                    item.Status = MediaStates.NotPlayed;
                }
                mediaRandomList.Insert(index, item);
            }
        }
        private void CreateMediaList()
        {
            mediaRandomList.Clear();
            mediaList.Clear();

            foreach (MediaBase item in mediaItems)
            {
                if (SelectedMedia != null)
                {
                    if (item == SelectedMedia)
                    {
                        item.Status = MediaStates.Selected;
                    }
                    else if (mediaList.Contains(SelectedMedia))
                    {
                        item.Status = MediaStates.NotPlayed;
                    }
                    else
                    {
                        item.Status = MediaStates.Played;
                    }
                }
                else
                {
                    item.Status = MediaStates.NotPlayed;
                }
                mediaList.Add(item);
            }
        }
        private void UpdateRandomMediaList()
        {
            foreach (MediaBase item in mediaRandomList)
            {
                if (!mediaItems.Contains(item))
                {
                    item.Status = SelectedMedia == null ? MediaStates.Disabled : MediaStates.SelectedButDisabled;
                }
            }

            int beginningIndex = 0;

            if (SelectedMedia != null && mediaItems.Contains(SelectedMedia))
            {
                beginningIndex = mediaRandomList.IndexOf(SelectedMedia) + 1;
            }

            for (int cpt = 0; cpt < mediaItems.Count; cpt++)
            {
                MediaBase item = mediaItems[cpt];

                if (item == SelectedMedia)
                {
                    continue;
                }
                if (!mediaRandomList.Contains(item))
                {
                    int index = new Random().Next(beginningIndex, mediaRandomList.Count);
                    mediaRandomList.Insert(index, item);

                    item.Status = MediaStates.NotPlayed;
                }
                else if (SelectedMedia != null && mediaRandomList.IndexOf(SelectedMedia) < mediaRandomList.IndexOf(item))
                {
                    item.Status = MediaStates.NotPlayed;
                }
                else if (SelectedMedia != null && mediaRandomList.IndexOf(SelectedMedia) > mediaRandomList.IndexOf(item))
                {
                    item.Status = MediaStates.Played;
                }
                else
                {
                    item.Status = MediaStates.NotPlayed;
                }
            }
        }