예제 #1
0
        /// <summary>
        /// Обработчик при попытке закрыть главную форму
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void EnrolleeForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            // сохраняем базу в локальный файл
            SaverLoader.SaveToFile(Path.ChangeExtension(Application.ExecutablePath, ".bin"), _root);
            tsslStatusLabel.Text = "Сохранение данных на сервере...";
            statusStrip1.Refresh();
            // сохраняем базу на сервере
            SaverLoader.StoreTables(_root, Properties.Settings.Default.ConnectionString);
            var result = SaverLoader.OperationResult;

            // показываем результат
            tsslStatusLabel.Text = string.IsNullOrWhiteSpace(result)
                                ? "Готово" : result.Substring(0, result.IndexOf('.') + 1);
            statusStrip1.Refresh();
            // спрашиваем пользователя, закрывать ли приложение
            e.Cancel = MessageBox.Show(this, "Закрыть приложение?", "Выход", MessageBoxButtons.YesNo,
                                       MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes;
        }