private void Card_MouseDown(object sender, MouseButtonEventArgs e) { CardView tmpText = (CardView)sender; int index = (int)tmpText.Tag; List <LibraryItem.LibraryFactory> library = MediaManager.Instance.GetLibrary(); if (type == ViewType.Library) { MediaManager.Instance.SelectedItem = index; MediaManager.Instance.SelectedSeason = -1; MediaManager.Instance.SelectedEpisode = -1; if (library[index] is LibraryItem.Movie) { Entry entry = new Entry(); sourcePage.NavigationService.Navigate(entry); } else if (library[index] is LibraryItem.Series) { Series series = new Series(); sourcePage.NavigationService.Navigate(series); } } else if (type == ViewType.Series) { MediaManager.Instance.SelectedSeason = index; MediaManager.Instance.SelectedEpisode = -1; Season season = new Season(); sourcePage.NavigationService.Navigate(season); } else if (type == ViewType.Season) { MediaManager.Instance.SelectedEpisode = index; Entry entry = new Entry(); sourcePage.NavigationService.Navigate(entry); } }
public ScrollGrid(Page sourcePage) { InitializeComponent(); this.sourcePage = sourcePage; int currentRow = 0; int currentColumn = 0; int currentItem = 0; if (MediaManager.Instance.SelectedItem != -1 && MediaManager.Instance.SelectedSeason == -1) { type = ViewType.Series; } else if (MediaManager.Instance.SelectedItem != -1 && MediaManager.Instance.SelectedSeason != -1) { type = ViewType.Season; } else { type = ViewType.Library; } if (type == ViewType.Series) { LibraryItem.LibraryFactory series = MediaManager.Instance.GetLibrary()[MediaManager.Instance.SelectedItem]; List <LibraryItem.Season> seasons = ((LibraryItem.Series)series).GetSeasons(); PrepareGrid(seasons.Count); foreach (LibraryItem.Season item in seasons) { CardView card = new CardView(series, currentItem); card.Tag = currentItem; card.MouseDown += Card_MouseDown; Grid.SetColumn(card, currentColumn); Grid.SetRow(card, currentRow); grid_View.Children.Add(card); currentColumn++; currentItem++; if (currentColumn > 3) { currentRow++; currentColumn = 0; } } } else if (type == ViewType.Season) { LibraryItem.LibraryFactory series = MediaManager.Instance.GetLibrary()[MediaManager.Instance.SelectedItem]; List <LibraryItem.Entry> episodes = ((LibraryItem.Series)series).GetSeasons()[MediaManager.Instance.SelectedSeason].GetEpisodes(); PrepareGrid(episodes.Count); foreach (LibraryItem.Entry item in episodes) { CardView card = new CardView(series, MediaManager.Instance.SelectedSeason, currentItem); card.Tag = currentItem; card.MouseDown += Card_MouseDown; Grid.SetColumn(card, currentColumn); Grid.SetRow(card, currentRow); grid_View.Children.Add(card); currentColumn++; currentItem++; if (currentColumn > 3) { currentRow++; currentColumn = 0; } } } else { List <LibraryItem.LibraryFactory> library = MediaManager.Instance.GetLibrary(); PrepareGrid(library.Count); foreach (LibraryItem.LibraryFactory item in library) { List <string> info = item.GetCardInfo(); CardView card = new CardView(item); card.Tag = currentItem; card.MouseDown += Card_MouseDown; Grid.SetColumn(card, currentColumn); Grid.SetRow(card, currentRow); grid_View.Children.Add(card); currentColumn++; currentItem++; if (currentColumn > 3) { currentRow++; currentColumn = 0; } } } }