private async void btnAddEntry_Click(object sender, RoutedEventArgs e) { Episode episode = null; bool isSeries = Search.Type != "movie"; if (isSeries) { int season = Int32.Parse(txtSeason.Text); int series = Int32.Parse(txtEpisode.Text); if (!tvdb.EpisodeExists(season, series)) { await new MessageDialog("That episode does not exist.").ShowAsync(); return; } episode = EpisodeDO.FindOrCreate(season, series); } Movie movie = MovieDO.FindOrCreate(Search.ImdbID, Search.Title, Search.Year); bool created = RecordDO.TryCreate(isSeries, DateTime.Now, movie, Registry.Instance.User, episode); string message = created ? String.Format("{0} successfully added at {1}.", Search.Title, DateTime.Now) : String.Format("{0} already exists!", Search.Title); await new MessageDialog(message).ShowAsync(); }
private async void btnDidISee_Click(object sender, RoutedEventArgs e) { string title = txtDidISee.Text; Movie movie = MovieDO.FindByTitle(title); string message = String.Empty; if (movie == null) { message = String.Format("You haven't seen {0}", title); } else { EpisodeEntity lastEpisode = RecordDO.GetEpisodesByMovie(movie).LastOrDefault(); if (lastEpisode == null) { message = "You have seen that one!"; } else { message = String.Format("Last episode you saw was S{0:D2}E{1:D2}", lastEpisode.Season, lastEpisode.Serie); } } MessageDialog dialog = new MessageDialog(message); await dialog.ShowAsync(); }
public IEnumerable <LatestViewModel> FetchLatest() { using (UnitOfWork uow = new UnitOfWork()) { IEnumerable <Record> records = uow.Records.All().OrderByDescending(r => r.ID).Take(5); IEnumerable <Movie> movies = records.Select(r => RecordDO.GetMovie(r)); foreach (Record rec in records) { Movie m = RecordDO.GetMovie(rec); Episode e = RecordDO.GetEpisode(rec); yield return(new LatestViewModel { Title = m.Title, Year = m.Year, Season = e == null ? 0 : e.Season, Serie = e == null ? 0 : e.Serie }); } } }
public async Task <IEnumerable <Tuple <string, IEnumerable <TheTVDBSharp.Models.Episode> > > > GetLatestEpisodes() { using (UnitOfWork uow = new UnitOfWork()) { IEnumerable <Record> series = uow.Records.Where(r => r.IsSeries == true); var grouped = series.GroupBy(s => s.MovieID); var res = new List <Tuple <string, IEnumerable <TheTVDBSharp.Models.Episode> > >(); foreach (IGrouping <int, Record> group in grouped) { Movie movie = MovieDO.FindById(group.Key); Episode last = RecordDO.GetLastEpisode(movie.Title); TvdbManager tvdb = new TvdbManager(movie.Title); await tvdb.Load(); res.Add(tvdb.CheckForNewEpisodes(movie.Title, last.Season, last.Serie)); } return(res); } }