/// <summary> /// Constructor for the Application object. /// </summary> public App() { // Global handler for uncaught exceptions. UnhandledException += Application_UnhandledException; // Standard Silverlight initialization InitializeComponent(); // Phone-specific initialization InitializePhoneApplication(); // Show graphics profiling information while debugging. if (System.Diagnostics.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 GPU with a colored overlay. //Application.Current.Host.Settings.EnableCacheVisualization = true; // Disable the application idle detection by setting the UserIdleDetectionMode property of the // application's PhoneApplicationService object to Disabled. // 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; } ViewModel = new MainViewModel(); InitApiConnection(); DbDataContext = new MetropaperDataContext(ConnectionString); DownloadsController = new Controllers.DownloadsController(); //DbDataContext.DeleteDatabase(); if (!DbDataContext.DatabaseExists()) { DbDataContext.CreateDatabase(); } RootFrame.Navigating += new NavigatingCancelEventHandler(RootFrame_Navigating); }
private void UpdateBookmarkCacheStatus() { var bookmarks = App.DbDataContext.Bookmarks.ToList(); var downloadsController = new DownloadsController(); foreach (var bookmark in bookmarks) { if (!BookmarksStorageManager.DoesBookmarkBodyExist(bookmark.BookmarkId) && bookmark.IsDownloaded) { bookmark.IsDownloaded = false; bookmark.ShortBodyText = "Downloading..."; downloadsController.AddBookmark(bookmark); } } App.DbDataContext.SubmitChanges(); downloadsController.ProcessQueue(); }
public void LoadDataFromWeb() { this.IsLoading = true; var downloadsController = new DownloadsController(); App.InstapaperAPI.GetUnreadBookmarks(null, true, bookmarks => { var trimmedBookmarks = bookmarks.Take(25); UpdateBookmarksWithData(trimmedBookmarks); downloadsController.AddBookmarks(trimmedBookmarks); App.InstapaperAPI.GetStarredBookmarks(true, (starredBookmarks => { var trimmedStarredBookmarks = starredBookmarks.Take(10); UpdateBookmarksWithData(trimmedStarredBookmarks); downloadsController.AddBookmarks(trimmedStarredBookmarks); App.InstapaperAPI.GetArchiveBookmarks(true, (archivedBookmarks => { var trimmedArchivedBookmarks = archivedBookmarks.Take(5); UpdateBookmarksWithData(trimmedArchivedBookmarks); downloadsController.AddBookmarks(trimmedArchivedBookmarks); downloadsController.ProcessQueue(); })); })); }); this.IsLoading = false; }