static void ReadRSS() { System.Console.WriteLine("Write RSS RDF or Atom"); FeedTypes.FeedType fty; switch (System.Console.ReadLine().ToUpper()) { case "ATOM": fty = FeedTypes.FeedType.Atom; break; case "RDF": fty = FeedTypes.FeedType.RDF; break; default: case "RSS": fty = FeedTypes.FeedType.RSS; break; } System.Console.WriteLine("Write feed URL"); FeedData.RSSHost host = FeedData.FeedConverter.Parse(System.Console.ReadLine(), fty); System.Console.Clear(); System.Console.WriteLine(writeFeeds(host)); System.Console.Write("Save To DB?"); if (System.Console.ReadKey().Key == ConsoleKey.Y) { Database.FeedDatabase.DatabaseGet(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Application.ExecutablePath), "TodoSQLite.db3")).SaveHostAsync(host); } }
static string writeFeeds(FeedData.RSSHost feeds) { StringBuilder sb = new StringBuilder(); foreach (FeedData.Feed feed in feeds.Feeds) { sb.AppendLine("\r\n-------------------------\r\n"); sb.AppendLine("Title: " + feed.Title); sb.AppendLine("MSG: " + feed.Content); sb.AppendLine("Date: " + feed.PublishDate); } return(sb.ToString()); }
public async Task <int> SaveHostAsync(FeedData.RSSHost item) { int result = -1; if (item.ID != -1) { connection.UpdateAsync(item).Wait(); } else { connection.InsertAsync(item).Wait(); } FeedData.RSSHost host = (await GetRSSAsync()).Find(h => h.FeedUrl.Equals(item.FeedUrl)); foreach (FeedData.Feed feed in item.Feeds) { feed.ParentID = host.ID; result = await SaveFeedAsync(feed); } return(result); }