private void Postpone3Clicked(object sender, RoutedEventArgs e)
 {
     UserSelectedProductivity = 0; // didn't take it
     PostPoneSurvey           = PostPoneSurvey.Postpone3;
     DialogResult             = true;
     this.Close();
 }
        /// <summary>
        /// Close the pop-up and save the value.
        /// </summary>
        /// <param name="selectedProductivityValue"></param>
        private void UserFinishedSurvey(int selectedProductivityValue)
        {
            // reset timer
            if (_closeIfNotAnsweredAfterHoursTimer != null)
            {
                _closeIfNotAnsweredAfterHoursTimer.Stop();
                _closeIfNotAnsweredAfterHoursTimer = null;
            }

            // set responses
            UserSelectedProductivity = selectedProductivityValue;
            PostPoneSurvey           = PostPoneSurvey.None;

            // close window
            try
            {
                DialogResult = true;
            }
            catch { } // sometimes crashes unexpectedly
            this.Close(); // todo: enable
        }