Пример #1
0
        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="sender">
        /// The source of the event; typically <see cref="NavigationHelper"/>
        /// </param>
        /// <param name="e">Event data that provides both the navigation parameter passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and
        /// a dictionary of state preserved by this page during an earlier
        /// session.  The state will be null the first time a page is visited.</param>
        private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
        {
            //Loading

            //Create a fake show, which isn't visible to decrease uglyness
            //NTW.DataContext = new Episode(false, true) { redo = Windows.UI.Xaml.Visibility.Collapsed };


            api  = (API)e.NavigationParameter;
            Show = api.passed as TvShow;
            await Show.expand();

            //if(Show.following)
            //{
            //    followColor.Fill = ((SolidColorBrush)App.Current.Resources["PhoneAccentBrush"]);
            //}

            //Create a new commandbar and add buttons
            bar = new CommandBar();
            AppBarButton follow = new AppBarButton()
            {
                Icon = new SymbolIcon(Symbol.Favorite), Label = "Follow"
            };

            follow.Click += Tapped_Favorite;


            AppBarButton unfollow = new AppBarButton()
            {
                Icon = new SymbolIcon(Symbol.UnFavorite), Label = "Unfollow"
            };

            unfollow.Click     += Tapped_Favorite;
            unfollow.Visibility = Windows.UI.Xaml.Visibility.Collapsed;


            AppBarButton seen = new AppBarButton()
            {
                Icon = new SymbolIcon(Symbol.Accept), Label = "Mark all as seen"
            };

            seen.Click     += markAsSeen_Click;
            seen.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

            bar.PrimaryCommands.Add(seen);
            bar.PrimaryCommands.Add(follow);
            bar.PrimaryCommands.Add(unfollow);

            setFollowingAppButton();

            bar.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

            BottomAppBar = bar;

            Image.Source     = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri(Show.Image.UriSource.ToString().Replace("80", "357").Replace("112", "500")));
            this.DataContext = Show;

            //    NTWtitle.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

            //    List<Episode> wl = await api.getWatchList();
            //    if(wl != null)
            //    {
            //        foreach(Episode ep in wl)
            //        {
            //            if(ep.SeriesName == Show.Name)
            //            {
            //                NTW.DataContext = ep;
            //                NTWtitle.Visibility = Windows.UI.Xaml.Visibility.Visible;
            //                break;
            //            }
            //        }

            //    }
            if (Show.numberOfSeasons > 0)
            {
                season = new List <Episode> [Show.numberOfSeasons + 1];
                //For every show create a new pivot with a gridview with the episode-itemtemplate;
                for (int i = Show.numberOfSeasons; i > 0; i--)
                {
                    PivotItem item = new PivotItem();
                    item.Header = "Season " + i;
                    List <Episode> episodelist = await api.getSeason(Show, i);

                    season[i] = episodelist;
                    GridView view = new GridView();

                    view.ItemTemplate = Resources["seasy"] as DataTemplate;
                    view.ItemsSource  = episodelist;
                    item.Content      = view;
                    item.ApplyTemplate();
                    Pivot.Items.Add(item);
                }
            }
        }
        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="sender">
        /// The source of the event; typically <see cref="NavigationHelper"/>
        /// </param>
        /// <param name="e">Event data that provides both the navigation parameter passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and
        /// a dictionary of state preserved by this page during an earlier
        /// session.  The state will be null the first time a page is visited.</param>
        private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
        {
                //Loading
            cover.Height = Window.Current.Bounds.Height;
            //Create a fake show, which isn't visible to decrease uglyness
            //NTW.DataContext = new Episode(false, true) { redo = Windows.UI.Xaml.Visibility.Collapsed };


            api = (API)e.NavigationParameter;
            Show = api.passed as TvShow;
            await Show.expand();

            //if(Show.following)
            //{
            //    followColor.Fill = ((SolidColorBrush)App.Current.Resources["PhoneAccentBrush"]);
            //}

            //Create a new commandbar and add buttons
            bar = new CommandBar();
            AppBarButton follow = new AppBarButton() { Icon = new SymbolIcon(Symbol.Favorite), Label = "Follow" };
            follow.Click += Tapped_Favorite;
            

            AppBarButton unfollow = new AppBarButton() { Icon = new SymbolIcon(Symbol.UnFavorite), Label = "Unfollow" };
            unfollow.Click += Tapped_Favorite;
            unfollow.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
            

            AppBarButton seen = new AppBarButton() { Icon = new SymbolIcon(Symbol.Accept), Label = "Mark all as seen" };
            seen.Click += markAsSeen_Click;
            seen.Visibility = Windows.UI.Xaml.Visibility.Collapsed;            

            bar.PrimaryCommands.Add(seen);
            bar.PrimaryCommands.Add(follow);
            bar.PrimaryCommands.Add(unfollow);

            setFollowingAppButton();

            bar.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

            BottomAppBar = bar;

            Image.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri(Show.Image.UriSource.ToString().Replace("80", "357").Replace("112", "500")));
            this.DataContext = Show;

        //    NTWtitle.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

        //    List<Episode> wl = await api.getWatchList();
        //    if(wl != null)
        //    {
        //        foreach(Episode ep in wl)
        //        {
        //            if(ep.SeriesName == Show.Name)
        //            {
        //                NTW.DataContext = ep;
        //                NTWtitle.Visibility = Windows.UI.Xaml.Visibility.Visible;
        //                break;
        //            }
        //        }
            
        //    }
            if (Show.numberOfSeasons > 0)
            {
                season = new List<Episode>[Show.numberOfSeasons + 1];
                //For every show create a new pivot with a gridview with the episode-itemtemplate;
                for (int i = Show.numberOfSeasons; i > 0; i--)
                {
                    PivotItem item = new PivotItem();
                    item.Header = "Season " + i;
                    List<Episode> episodelist = await api.getSeason(Show, i);
                    season[i] = episodelist;
                    GridView view = new GridView();

                    view.ItemTemplate = Resources["seasy"] as DataTemplate;
                    view.ItemsSource = episodelist;
                    item.Content = view;
                    item.ApplyTemplate();
                    pivo.Items.Add(item);
                }
            }
            
        }