/// <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(); }