Exemplo n.º 1
0
        private async Task HandleRSSRead(string url, string name)
        {
            try
            {
                IFeedReader       feedReader = new FeedReader();
                IFeedCreateResult feedResult = await feedReader.CreateFeed(txtBoxRSSUrl.Text, "CulinariCast");

                Feed rssFeed = feedResult.Feed;
                Feed feed    = (Feed)rssFeed;
                if (rssFeed != null)
                {
                    foreach (FeedItem feedItem in rssFeed.Items.OrderBy(f => f.PubDate))
                    {
                        MethodInvoker addItem = () => AddFeedItem(feedItem);
                        cmbBoxFeedItems.Invoke(addItem);
                    }
                    if (cmbBoxFeedItems.Items.Count > 0)
                    {
                        try
                        {
                            MethodInvoker setIndex = () => SetIndex(0);
                            cmbBoxFeedItems.Invoke(setIndex);
                        }
                        catch (System.Reflection.TargetParameterCountException argCountEx)
                        {
                            Debug.WriteLine(argCountEx);
                        }
                    }
                }
                else
                {
                    switch (feedResult.Result)
                    {
                    case FeedCreateResultEnum.ErrorCouldNotParseUri: MessageBox.Show("Uri hatte ungültiges Format!");
                        break;

                    case FeedCreateResultEnum.ErrorFileNotFound: MessageBox.Show("Datei konnte nicht gefunden werden!");
                        break;

                    case FeedCreateResultEnum.ErrorNotSupportedUriFormat: MessageBox.Show("Dieses Uri-Format wird nicht unterstützt!");
                        break;

                    default: MessageBox.Show("Unbekannter Fehler beim Erstellen des Feeds!");
                        break;
                    }
                }
            }
            catch (InvalidOperationException invOpEx)
            {
                Debug.WriteLine("InvOpException: " + invOpEx);
            }
        }