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; } } }