// Add a measurement to the database and collections.
        public void AddMeasurement(Measurement newMeasurement)
        {
            // Add a measurement to the data context.
            measurementDB.Measurements.InsertOnSubmit(newMeasurement);

            // Save changes to the database.
            measurementDB.SubmitChanges();

            // Add a measurement to the "all" observable collection.
            AllMeasurements.Add(newMeasurement);

            // Add a measurement to the appropriate filtered collection.
            switch (newMeasurement.Type.Name)
            {
            case "Weight":
                WeightMeasurements.Add(newMeasurement);
                break;

            case "Pulse":
                PulseMeasurements.Add(newMeasurement);
                break;

            case "Pressure":
                PressureMeasurements.Add(newMeasurement);
                break;

            default:
                break;
            }
            // Save changes to the database.
            measurementDB.SubmitChanges();
        }
        // Remove a measurement from the database and collections.
        public void DeleteMeasurement(Measurement measurementForDelete)
        {
            // Remove the measurement from the "all" observable collection.
            AllMeasurements.Remove(measurementForDelete);

            // Remove the measurement from the data context.
            measurementDB.Measurements.DeleteOnSubmit(measurementForDelete);

            // Remove the measurement from the appropriate category.
            switch (measurementForDelete.Type.Name)
            {
            case "Weight":
                WeightMeasurements.Remove(measurementForDelete);
                break;

            case "Pulse":
                PulseMeasurements.Remove(measurementForDelete);
                break;

            case "Pressure":
                PressureMeasurements.Remove(measurementForDelete);
                break;

            default:
                break;
            }

            // Save changes to the database.
            measurementDB.SubmitChanges();
        }
예제 #3
0
        /// <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;
            }

            // Specify the local database connection string.
            string DBConnectionString = "Data Source=isostore:/Measurements.sdf";

            // Create the database if it does not exist.
            using (MeasurementDataContext db = new MeasurementDataContext(DBConnectionString))
            {
                if (db.DatabaseExists() == false)
                {
                    // Create the local database.
                    db.CreateDatabase();

                    // Prepopulate the categories.
                    db.MeasurementTypes.InsertOnSubmit(new MeasurementType { Name = "Weight" });
                    db.MeasurementTypes.InsertOnSubmit(new MeasurementType { Name = "Pulse" });
                    db.MeasurementTypes.InsertOnSubmit(new MeasurementType { Name = "Pressure" });

                    // Save categories to the database.
                    db.SubmitChanges();
                }
            }

            // Create the ViewModel object.
            _mainPageViewModel = new MainPageViewModel(DBConnectionString);
            _newMeasurementPageViewModel = new NewMeasurementPageViewModel(DBConnectionString);

            // Query the local database and load observable collections.
            _mainPageViewModel.LoadCollectionsFromDatabase();
            _newMeasurementPageViewModel.LoadCollectionsFromDatabase();
        }
예제 #4
0
        /// <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;
            }

            // Specify the local database connection string.
            string DBConnectionString = "Data Source=isostore:/Measurements.sdf";

            // Create the database if it does not exist.
            using (MeasurementDataContext db = new MeasurementDataContext(DBConnectionString))
            {
                if (db.DatabaseExists() == false)
                {
                    // Create the local database.
                    db.CreateDatabase();

                    // Prepopulate the categories.
                    db.MeasurementTypes.InsertOnSubmit(new MeasurementType {
                        Name = "Weight"
                    });
                    db.MeasurementTypes.InsertOnSubmit(new MeasurementType {
                        Name = "Pulse"
                    });
                    db.MeasurementTypes.InsertOnSubmit(new MeasurementType {
                        Name = "Pressure"
                    });

                    // Save categories to the database.
                    db.SubmitChanges();
                }
            }

            // Create the ViewModel object.
            _mainPageViewModel           = new MainPageViewModel(DBConnectionString);
            _newMeasurementPageViewModel = new NewMeasurementPageViewModel(DBConnectionString);

            // Query the local database and load observable collections.
            _mainPageViewModel.LoadCollectionsFromDatabase();
            _newMeasurementPageViewModel.LoadCollectionsFromDatabase();
        }