Exemple #1
0
        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();
        }
Exemple #3
0
        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
                    });
                }
            }
        }
Exemple #4
0
        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);
            }
        }