示例#1
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 override void OnInvoke(ScheduledTask task)
        {
            try
            {
                if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
                {
                    return;
                }

                IAppSettingsStore settings = new AppSettingsStore(IsolatedStorageCacheManager.Instance);
                IFalconService    fService = new FalconWebServiceClient(ServiceLoginUrl);
                using (var updatesService = new CheckUpdatesService(settings, new RaptorService(fService, AESCipherManager.Instance), AESCipherManager.Instance))
                {
                    var updates = updatesService.Updates();


                    UpdateTile(updatesService.GetUpdateCount());

                    if (updates.Count() == 0)
                    {
#if DEBUG
                        ShellToast toast2 = new ShellToast();
                        toast2.Title   = "DEBUG: ";
                        toast2.Content = "No updates";
                        toast2.Show();
#endif
                    }
                    else
                    {
                        string message =
                            updates.Count() == 1
                            ? string.Format("Torrent {0} downloaded", updates.First())
                            : string.Format("{0} favorite torrents were downloaded", updates.Count());

                        ShellToast toast = new ShellToast();
                        toast.Title   = "Torrents: ";
                        toast.Content = message;
                        toast.Show();
                    }
                }
            }
            catch (Exception ex)
            {
#if DEBUG
                ShellToast toast = new ShellToast();
                toast.Title   = "Error:";
                toast.Content = ex.Message;
                toast.Show();
#endif
            }
            finally
            {
#if DEBUG_AGENT
                ScheduledActionService.LaunchForTest(
                    task.Name, TimeSpan.FromSeconds(30));
#endif

                NotifyComplete();
            }
        }
示例#2
0
 public GeoDbHandler(BaseContext context)
 {
     _checkUpdates     = new CheckUpdatesService(context);
     _lastDatesService = new GetLastDatesService();
     _updateDbService  = new UpdateDbService(context);
 }