internal Episode GetEpisode() { using (var db = new LocalStorageContext()) { return(db.EpisodeCache.Where(ep => ep.Id == this.EpisodeId).FirstOrDefault()); } }
public static void CheckMigrations() { _initializer.CheckInitialized(); using (var db = new LocalStorageContext()) { db.Database.Migrate(); } }
internal async Task RemoveTopThreeItems() { using (var db = new LocalStorageContext()) { var episodes = await GetEpisodes(); db.EpisodeCache.Remove(episodes[0]); db.EpisodeCache.Remove(episodes[1]); db.EpisodeCache.Remove(episodes[2]); await db.SaveChangesAsync(); } }
public async Task <List <Episode> > GetEpisodes() { using (var db = new LocalStorageContext()) { var cached = db.EpisodeCache.Where(i => i.FeedId == this.Uri.ToString()) .OrderByDescending(ob => ob.PublishDate); if (cached.Count() > 0) { foreach (var item in cached) { item.Feed = this; } return(cached.ToList()); } } return(await GetNewEpisodesAsync()); }
internal async Task <List <Episode> > GetNewEpisodesAsync() { List <Episode> newEpisodes = new List <Episode>(); var results = await GetEpisodesInternalAsync(); using (var db = new LocalStorageContext()) { foreach (var item in results) { if (db.EpisodeCache.Where(i => (i.Key == item.Key && i.Feed == item.Feed)).Count() == 0) { db.EpisodeCache.Add(item); newEpisodes.Add(item); } } db.SaveChanges(); } return(newEpisodes); }