コード例 #1
0
        private void SetUpLogging()
        {
            DeleteData();

            ObservationStorage.GetInstance().ObservationItems.Add(new ObservationItem()
            {
                Created = DateTime.Now,
                //ActivityCategory = ActivityCategoryEnum.Other,
                //IsHardCs = true,
                //IsSelfInitiatedCs = false,
                //ObserverComment = String.Empty,
                //ReasonForCs = ReasonForCsEnum.Other,
                TaskType        = Models.TaskType.Task6_StudyRelated,
                TaskDescription = "Observation Started",
                //TaskNumber = TaskNumberEnum.T0
            });

            // Enable / Disable Buttons
            StartObservationBtn.IsEnabled = false;
            EndObservationBtn.IsEnabled   = true;
            LogGrid.IsEnabled             = true;
            //PauseObservationBtn.IsEnabled = true;
            ManualSaveBtn.IsEnabled = true;
            //PauseObservationBtn.Content = "Pause";

            // Ask for Export Location
            SetExportDataLocation();
            ExportData();
        }
コード例 #2
0
        private void SetExportDataLocation()
        {
            // dialog to get path to exported file
            var dialog = new System.Windows.Forms.FolderBrowserDialog();

            dialog.Description = "Select the destination where you want to export the observation file to:";
            var result = dialog.ShowDialog();

            var savePath = result == System.Windows.Forms.DialogResult.OK
                ? dialog.SelectedPath
                : Directory.GetCurrentDirectory();

            ObservationStorage.GetInstance().SetExportDataPath(savePath);
        }
コード例 #3
0
        private void WindowClosing(object sender, CancelEventArgs e)
        {
            if (ObservationStorage.GetInstance().ObservationItems.Count == 0)
            {
                return;
            }

            // Ask for export & delete data
            var ans = MessageBox.Show("Do you want to save the observed data before you close the application? It will be deleted otherwise.", "Export", MessageBoxButton.YesNo);

            if (ans == MessageBoxResult.Yes)
            {
                ExportData();
            }

            DeleteData();
        }
コード例 #4
0
        private void ShutDownLogging()
        {
            // add timestamp to last entry
            var list = ObservationStorage.GetInstance().ObservationItems;
            var size = list.Count;

            if (size > 1)
            {
                var lastItem = list[list.Count - 1];

                if (lastItem != null)
                {
                    lastItem.TaskDuration = (DateTime.Now - lastItem.Created);
                }
            }

            // add hint to logfile
            ObservationStorage.GetInstance().ObservationItems.Add(new ObservationItem()
            {
                Created = DateTime.Now,
                //ActivityCategory = ActivityCategoryEnum.Other,
                //IsHardCs = true,
                //IsSelfInitiatedCs = false,
                //ObserverComment = String.Empty,
                TaskType        = Models.TaskType.Task6_StudyRelated,
                TaskDescription = "Observation ended",
                //TaskNumber = TaskNumberEnum.T0
            });

            // save
            ExportData();

            // Enable / Disable Buttons
            StartObservationBtn.IsEnabled = true;
            EndObservationBtn.IsEnabled   = false;
            LogGrid.IsEnabled             = false;
            //PauseObservationBtn.IsEnabled = false;
            ManualSaveBtn.IsEnabled = false;
            //PauseObservationBtn.Content = "Continue";

            // Observation finished
            MessageBox.Show("You find the exported observation data here: " +
                            ObservationStorage.GetInstance().GetPreviousExportDataFilePath() +
                            ".", "Observation finished", MessageBoxButton.OK);
        }
コード例 #5
0
        private void ContinueLogging()
        {
            //PauseObservationBtn.Content = "Pause";
            LogGrid.IsEnabled = true;

            ObservationStorage.GetInstance().ObservationItems.Add(new ObservationItem()
            {
                Created = DateTime.Now,
                //ActivityCategory = ActivityCategoryEnum.Other,
                //IsHardCs = true,
                //IsSelfInitiatedCs = false,
                //ObserverComment = String.Empty,
                TaskType        = Models.TaskType.Task6_StudyRelated,
                TaskDescription = "Observation continued",
                //TaskNumber = TaskNumberEnum.T0
            });

            ExportData();
        }
コード例 #6
0
        /// <summary>
        /// This method is called always when a new ObservationItem is created
        /// or the creation timestamp is changed. It calculates the duration for
        /// the previous entry.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="initializingNewItemEventArgs"></param>
        private void InitializingNewItemEventHandler(object sender, InitializingNewItemEventArgs initializingNewItemEventArgs)
        {
            // fill fields
            var list = ObservationStorage.GetInstance().ObservationItems;
            var size = list.Count;

            if (size > 1)
            {
                for (int i = 1; i < size; i++)
                {
                    var thisItem     = list[i];
                    var previousItem = list[i - 1];

                    if (thisItem == null || previousItem == null)
                    {
                        continue;
                    }
                    previousItem.TaskDuration = (thisItem.Created - previousItem.Created);
                }
            }

            // save all previous inputs
            ExportData();
        }
コード例 #7
0
 public MainWindow()
 {
     InitializeComponent();
     this.DataContext = ObservationStorage.GetInstance();
     InitializeObservation();
 }
コード例 #8
0
 private void DeleteData()
 {
     ObservationStorage.GetInstance().DeleteData();
 }
コード例 #9
0
 private void ExportData()
 {
     ObservationStorage.GetInstance().ExportData();
 }