public SeriesDetailsViewModel(TvDbSeriesRepository repository)
        {
            this.repository = repository;

            if (!IsInDesignMode)
            {
                MessengerInstance.Register <TvDbSeries>(this, s => Series = s);
            }
            else
            {
                Series = new TvDbSeries()
                {
                    Title            = "Futurama",
                    Image            = "http://thetvdb.com/banners/posters/73871-2.jpg",
                    Banner           = "http://thetvdb.com/banners/graphical/121361-g19.jpg",
                    Rating           = 5,
                    AirsTime         = "9 PM",
                    RemindersEnabled = true,
                    NotificationTime = DateTime.Now,
                    AirsDayOfWeek    = 6,
                    Episodes         = new ObservableCollection <TvDbSeriesEpisode>()
                    {
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 1",
                            SeriesNumber  = "1",
                            EpisodeNumber = "1",
                            FirstAired    = DateTime.Today,
                            Description   = "Jack and Chloe have a plan in place to eliminate the terrorist threat before any more attacks rock London. With no time to spare and lives on the line, Jack and Kate pursue crucial leads in an attempt to gain the upper hand on the incredibly intense circumstances. Meanwhile, key players reveal their true colors.",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        },
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 2",
                            SeriesNumber  = "1",
                            EpisodeNumber = "2",
                            FirstAired    = DateTime.Today.AddDays(2),
                            Description   = "Jack and Chloe have a plan in place to eliminate the terrorist threat before any more attacks rock London. With no time to spare and lives on the line, Jack and Kate pursue crucial leads in an attempt to gain the upper hand on the incredibly intense circumstances. Meanwhile, key players reveal their true colors.",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        },
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 1",
                            SeriesNumber  = "2",
                            EpisodeNumber = "1",
                            FirstAired    = DateTime.Today,
                            Description   = "Jack and Chloe have a plan in place to eliminate the terrorist threat before any more attacks rock London. With no time to spare and lives on the line, Jack and Kate pursue crucial leads in an attempt to gain the upper hand on the incredibly intense circumstances. Meanwhile, key players reveal their true colors.",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        }
                    },
                    Overview = @"Chocolate bar macaroon halvah candy cheesecake pie macaroon gummies lemon drops. Soufflé marzipan cake. Wypas tootsie roll candy sweet roll candy soufflé. Sesame snaps topping candy caramels lollipop cheesecake marshmallow.
                                 Cake toffee dessert powder cupcake macaroon dragée faworki cookie. Chupa chups halvah applicake liquorice marzipan carrot cake gummi bears chocolate cake. Sugar plum marshmallow halvah cookie caramels dragée wafer sugar plum sugar plum. Cheesecake macaroon carrot cake topping wafer carrot cake lemon drops."
                };
            }
        }
        public SeriesDetailsViewModel(TvDbSeriesRepository repository)
        {
            this.repository = repository;

            if (!IsInDesignMode)
            {
                MessengerInstance.Register <TvDbSeries>(this, s => Series = s);
            }
            else
            {
                Series = new TvDbSeries()
                {
                    Title            = "Futurama",
                    Image            = "http://thetvdb.com/banners/posters/73871-2.jpg",
                    Banner           = "http://thetvdb.com/banners/graphical/121361-g19.jpg",
                    Rating           = 5,
                    AirsTime         = "9 PM",
                    RemindersEnabled = true,
                    NotificationTime = DateTime.Now,
                    AirsDayOfWeek    = 6,
                    Episodes         = new ObservableCollection <TvDbSeriesEpisode>()
                    {
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 1",
                            SeriesNumber  = "1",
                            EpisodeNumber = "1",
                            Description   = "bla bla bla bla bla lba",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        },
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 2",
                            SeriesNumber  = "1",
                            EpisodeNumber = "2",
                            FirstAired    = DateTime.Today.AddDays(2),
                            Description   = "bla bla bla bla bla lba",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        },
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 1",
                            SeriesNumber  = "2",
                            EpisodeNumber = "1",
                            Description   = "bla bla bla bla bla lba",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        }
                    },
                    Overview = @"Chocolate bar macaroon halvah candy cheesecake pie macaroon gummies lemon drops. Soufflé marzipan cake. Wypas tootsie roll candy sweet roll candy soufflé. Sesame snaps topping candy caramels lollipop cheesecake marshmallow.
                                 Cake toffee dessert powder cupcake macaroon dragée faworki cookie. Chupa chups halvah applicake liquorice marzipan carrot cake gummi bears chocolate cake. Sugar plum marshmallow halvah cookie caramels dragée wafer sugar plum sugar plum. Cheesecake macaroon carrot cake topping wafer carrot cake lemon drops."
                };
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Agent that runs a scheduled task
        /// </summary>
        /// <param name="task">
        /// The invoked task
        /// </param>
        /// <remarks>
        /// This method is called when a periodic or resource intensive task is invoked
        /// </remarks>
        protected async override void OnInvoke(ScheduledTask task)
        {
            //nasty hack... let's pretend this thread is the Dispatcher, haha :-P
            DispatcherHelper.Initialize();

            var repository = new TvDbSeriesRepository(new SeriesStorageManager(), new TvDb(new ConnectivityService()));
            await repository.GetSubscribedAsync(false);


            // If debugging is enabled, launch the agent again in one minute.
            #if DEBUG_AGENT
            ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(60));
            #endif

            // Call NotifyComplete to let the system know the agent is done working.
            NotifyComplete();
        }
        public NotificationViewModel(TvDbSeriesRepository repository, ReminderService reminderService)
        {
            this.repository      = repository;
            this.reminderService = reminderService;

            if (!IsInDesignMode)
            {
                MessengerInstance.Register <TvDbSeries>(this, s => Series = s);
            }

            applyCommand = new RelayCommand(async() =>
            {
                series.NotificationTime = NotificationTime;
                series.RemindersEnabled = remindersEnabled;
                var saveTask            = repository.SaveAsync(series);
                reminderService.CreateOrUpdateRemindersAsync(); //do not await, does not affect UI, can happen in the background
                await saveTask;
                MessengerInstance.Send(new Action <Frame>(a => a.GoBack()));
            });
        }
Ejemplo n.º 5
0
        public MainViewModel(TvDbSeriesRepository repository, ConnectivityService connectivityService, ReminderService reminderService, AgentScheduler agentScheduler)
        {
            this.connectivityService          = connectivityService;
            this.reminderService              = reminderService;
            this.agentScheduler               = agentScheduler;
            connectivityService.InternetDown += connectivityService_InternetDown;
            connectivityService.InternetUp   += connectivityService_InternetUp;

            Series = new SelfSortingObservableCollection <TvDbSeries, DateTime?>(s => s.NextEpisodeAirDateTime, new SoonestFirstComparer());
            repository.Subscribed   += (sender, args) => DispatcherHelper.UIDispatcher.BeginInvoke(() => Series.Add(args.Series));
            repository.Unsubscribed += (sender, args) => DispatcherHelper.UIDispatcher.BeginInvoke(() => Series.Remove(args.Series));

            AlphabeticalSortingEnabled = AppSettings.Instance.AlphabeticalSortingEnabled;

            if (!IsInDesignMode)
            {
                this.repository    = repository;
                IsSearchBoxEnabled = true;
                searchResults      = new SelfSortingObservableCollection <TvDbSeries, float>(s => s.Rating, order: SortOrder.Desc);
                ltUpdater          = new LiveTileUpdater(this);

                MessengerInstance.Register <AppSettings>(this, s => AlphabeticalSortingEnabled = s.AlphabeticalSortingEnabled);
                //series = new SelfSortingObservableCollection<TvDbSeries, string>(s => s.Title);
            }
            else if (IsInDesignMode)
            {
                searchResults = new ObservableCollection <TvDbSeries>();

                Search = "Simpsons";
                Series.Add(new TvDbSeries()
                {
                    Title    = "Futurama",
                    Image    = "http://thetvdb.com/banners/posters/73871-2.jpg",
                    Rating   = 5,
                    AirsTime = "11 PM",
                    Episodes = new ObservableCollection <TvDbSeriesEpisode>()
                    {
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 1",
                            FirstAired    = DateTime.Now.AddDays(14).AddHours(5),
                            SeriesNumber  = "1",
                            EpisodeNumber = "1",
                            Description   = "bla bla bla bla bla lba",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        },
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 2",
                            FirstAired    = DateTime.Now.AddDays(7),
                            SeriesNumber  = "1",
                            EpisodeNumber = "2",
                            Description   = "bla bla bla bla bla lba",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        },
                        new TvDbSeriesEpisode()
                        {
                            Name          = "Episode 1",
                            FirstAired    = DateTime.Now,
                            SeriesNumber  = "2",
                            EpisodeNumber = "1",
                            Description   = "bla bla bla bla bla lba",
                            Image         = "http://thetvdb.com/banners/episodes/121361/3254641.jpg"
                        }
                    }
                });

                Series.Add(new TvDbSeries()
                {
                    Title  = "Simpsons",
                    Image  = "http://thetvdb.com/banners/posters/71663-10.jpg",
                    Rating = 10
                });

                searchResults = series;

                AlphabeticalSortingEnabled = true;
            }
        }
Ejemplo n.º 6
0
 public ReminderService(TvDbSeriesRepository repository)
 {
     this.repository = repository;
 }