Ejemplo n.º 1
0
        public async Task OnPodcastTapped(PodcastSummaryViewModel podcast, Point position)
        {
            if (m_ShowingPopUp == true)
            {
                return;
            }
            m_ShowingPopUp = true;
            try
            {
                PopupMenu popupMenu = new PopupMenu();
                // this is useful for debugging
                //popupMenu.Commands.Add(new UICommand(){Id=1, Label="Copy RSS feed URL to clipboard"});

                if (Data.IsPodcastInFavorites(podcast.Data))
                {
                    popupMenu.Commands.Add(new UICommand()
                    {
                        Id = 2, Label = "Remove from favorites"
                    });
                }
                else
                {
                    popupMenu.Commands.Add(new UICommand()
                    {
                        Id = 3, Label = "Add to favorites"
                    });
                }
                IUICommand selectedCommand = await popupMenu.ShowAsync(position);

                if (selectedCommand == null)
                {
                    return;
                }
                switch ((int)selectedCommand.Id)
                {
                case 1:     // Copy RSS feed to clipboard
                    DataPackage dataPackage = new DataPackage();
                    dataPackage.SetText(podcast.Data.PodcastUri);
                    Clipboard.SetContent(dataPackage);
                    break;

                case 2:     // Remove from favorites
                    Task t = Data.RemoveFromFavorites(podcast.Data);
                    m_View.NavigationHelper.GoBack();
                    break;

                case 3:     // Add to favorites
                    // Don't wait for this - It will leave the m_ShowingPopUp open
                    await UIThread.RunInBackground(() => Data.AddToFavorites(podcast.Data));

                    podcast.DownloadEpisodes();
                    break;
                }
            }
            finally
            {
                m_ShowingPopUp = false;
            }
        }
Ejemplo n.º 2
0
        public async Task OnPodcastTapped(PodcastSummaryViewModel selectedPodcast, Point position)
        {
            if (m_ShowingPopUp == true)
            {
                return;
            }
            m_ShowingPopUp = true;
            try
            {
                PopupMenu popupMenu = new PopupMenu();
                // this is useful for debugging
                //popupMenu.Commands.Add(new UICommand(){Id=1, Label="Copy RSS feed URL to clipboard"});

                if (m_PodcastDataSource.IsPodcastInFavorites(selectedPodcast.Data))
                {
                    popupMenu.Commands.Add(new UICommand()
                    {
                        Id = 2, Label = "Remove from favorites"
                    });
                }
                else
                {
                    popupMenu.Commands.Add(new UICommand()
                    {
                        Id = 3, Label = "Add to favorites"
                    });
                }
                IUICommand selectedCommand = await popupMenu.ShowAsync(position);

                if (selectedCommand == null)
                {
                    return;
                }
                switch ((int)selectedCommand.Id)
                {
                case 2:     // Remove from favorites
                    await m_PodcastDataSource.RemoveFromFavorites(selectedPodcast.Data);

                    //NavigationHelper.GoBack();
                    break;

                case 3:     // Add to favorites
                    await m_PodcastDataSource.AddToFavorites(selectedPodcast.Data);

                    break;
                }
            }
            finally
            {
                m_ShowingPopUp = false;
            }
        }