Exemple #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)
        {
            //TODO: Add code to perform your task in background
            // create data context to manage DB
            _context = new EnglishWordDataContext(EnglishWordDataContext.ConnectionString);

            // Create observable collection to display in UI
            if (!_context.EnglishWords.Any(x => x.IsLearn == false))
            {
                foreach (var englishWord in _context.EnglishWords)
                {
                    // Update IsLearn status
                    englishWord.IsLearn = false;
                    _context.SubmitChanges();
                }
            }

            var sb = new StringBuilder();

            foreach (var englishWord in _context.EnglishWords.Where(x => x.IsLearn == false).Take(2))
            {
                string content = string.Format("{0} => {1}", englishWord.Word, englishWord.Meaning);
                sb.Append(content);
                sb.AppendLine(); // which is equal to Append(Environment.NewLine);

                // Update IsLearn status
                englishWord.IsLearn = true;
                _context.SubmitChanges();
            }

            UpdatePrimaryTile(2, sb.ToString());

            NotifyComplete();
        }
 protected override void OnNavigatedFrom(NavigationEventArgs e)
 {
     // Clean up after the datacontext
     _context.Dispose();
     _context = null;
     base.OnNavigatedFrom(e);
 }
        private void UpdateTile_Click(object sender, RoutedEventArgs e)
        {
            // create data context to manage DB
            _context = new EnglishWordDataContext(EnglishWordDataContext.ConnectionString);

            // Create observable collection to display in UI
            if (!_context.EnglishWords.Any(x => x.IsLearn == false))
            {
                foreach (var englishWord in _context.EnglishWords)
                {
                    // Update IsLearn status
                    englishWord.IsLearn = false;
                    _context.SubmitChanges();
                }
            }

            var sb = new StringBuilder();

            foreach (var englishWord in _context.EnglishWords.Where(x => x.IsLearn == false).Take(2))
            {
                string content = string.Format("{0} => {1}", englishWord.Word, englishWord.Meaning);
                sb.Append(content);
                sb.AppendLine(); // which is equal to Append(Environment.NewLine);

                // Update IsLearn status
                englishWord.IsLearn = true;
                _context.SubmitChanges();
            }

            ScheduledTaskAgent2.ScheduledAgent.UpdatePrimaryTile(2, sb.ToString());
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            // Prepare for display here
            var invoice = new Invoice {
                Amount = 5.0m
            };

            var viewModel = new InvoiceViewModel(invoice);

            DataContext = viewModel;

            // create data context to manage DB
            _context = new EnglishWordDataContext(EnglishWordDataContext.ConnectionString);
            // Create observable collection to display in UI
            _englishEnglishWords       = new ObservableCollection <EnglishWord>(_context.EnglishWords);
            EnglishWordBox.ItemsSource = _englishEnglishWords;
        }
        /// <summary>
        /// Constructor for the Application object.
        /// </summary>
        public App()
        {
            // Global handler for uncaught exceptions.
            UnhandledException += Application_UnhandledException;

            // Standard XAML initialization
            InitializeComponent();

            // Phone-specific initialization
            InitializePhoneApplication();

            // Language display initialization
            InitializeLanguage();

            // Show graphics profiling information while debugging.
            if (Debugger.IsAttached)
            {
                // Display the current frame rate counters.
                Application.Current.Host.Settings.EnableFrameRateCounter = true;

                // Show the areas of the app that are being redrawn in each frame.
                //Application.Current.Host.Settings.EnableRedrawRegions = true;

                // Enable non-production analysis visualization mode,
                // which shows areas of a page that are handed off to GPU with a colored overlay.
                //Application.Current.Host.Settings.EnableCacheVisualization = true;

                // Prevent the screen from turning off while under the debugger by disabling
                // the application's idle detection.
                // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
                // and consume battery power when the user is not using the phone.
                PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
            }

            using (var context = new EnglishWordDataContext(EnglishWordDataContext.ConnectionString))
            {
                if (!context.DatabaseExists())
                {
                    context.CreateDatabase();
                }
            }

            RegisterBackgroundTask();
        }