예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
            }
        }