/// <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 to 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; } using (Database db = new Database(DBLocation)) { //Inorder to clean the db uncomment the next line (or, if debugging, rebuild solution) //db.DeleteDatabase(); if (!db.DatabaseExists()) { db.CreateDatabase(); } db.SubmitChanges(); } DataBaseUtility = new DataUtil(DBLocation); bool firstRun = false; //Check if it is running for the first time... IsolatedStorageSettings.ApplicationSettings.TryGetValue("firstRun", out firstRun); if (!firstRun) { isFirstTime = true; Settings settings = new Settings(); settings.ReportLimit = 100; settings.Distance = 100; settings.Location = new System.Device.Location.GeoCoordinate(-1, 36); //Show application Dialog. IsolatedStorageSettings.ApplicationSettings.Add("settings", settings); IsolatedStorageSettings.ApplicationSettings.Add("firstRun", true); IsolatedStorageSettings.ApplicationSettings.Save(); GlobalSettings = settings; } else { isFirstTime = false; //Pull settings from isolated storage Settings settings = new Settings(); IsolatedStorageSettings.ApplicationSettings.TryGetValue("settings", out settings); GlobalSettings = settings; } }
// note: could also have used a lock rather than a mutex. // A lock protects against cross-thread access to the data context. // The mutex additionally protects against cross-process access. //Contructor to initialize the database public DataUtil(string dbConnectionString) { db = new Database(dbConnectionString); }