private async void Item_Tapped(object sender, DoubleTappedRoutedEventArgs e) { item = sender as Grid; ep = item.DataContext as Episode; Image ima = item.FindName("ima") as Image; if (ima.Opacity > 0.5) { if (!ep.Aired) { Helper.message("This episode hasn't aired yet. You cannot mark it as watched", "EPISODE NOT AIRED"); return; } DoubleAnimation ani = new DoubleAnimation(); Storyboard.SetTarget(ani, ima); Storyboard board = new Storyboard(); board.Completed += board_Completed; Storyboard.SetTargetProperty(ani, "Opacity"); ani.To = 0.2; ep.Opacity = 0.2; board.Duration = new Duration(TimeSpan.FromSeconds(1)); board.Children.Add(ani); board.Begin(); } else { DoubleAnimation ani = new DoubleAnimation(); Storyboard.SetTarget(ani, ima); Storyboard board = new Storyboard(); Storyboard.SetTargetProperty(ani, "Opacity"); ani.To = 0.9; board.Duration = new Duration(TimeSpan.FromSeconds(1)); board.Children.Add(ani); board.Begin(); ep.Seen = false; ep.OnPropertyChanged("redo"); ep.OnPropertyChanged("Opacity"); if (api.hasInternet()) { await ep.markNotAsWatched(); } else { Command com = new Command(); com.episode = ep; com.watched = false; api.addCommand(com); } } }
/// <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) { StatusBar statusBar = StatusBar.GetForCurrentView(); // Hide the status bar await statusBar.HideAsync(); ////Loading api = API.getAPI(); //As a precaution set a show as the passed object TvShow show = new TvShow(false); api.passed = show; if (api.hasInternet()) { LoadLists(); } else { List <Episode> list = await api.recoverQueue(); List <TvShow> listTV = await api.recoverTracker(); List <Episode> cal = await api.recoverCalendar(); await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { if (list.Count > 0) { queue.ItemsSource = list; } if (listTV.Count > 0) { tracker.ItemsSource = listTV; } if (cal.Count > 0) { if (cal != null) { var result = from ep in cal group ep by ep.airdate into grp orderby grp.Key select grp; calendar.Source = result; } } //q = list; }); //Wait for when we do have internet api.getNetwork().PropertyChanged += NetworkStatus_Changed; } Tile.setTile(0); }