示例#1
0
文件: Form1.cs 项目: knureigs/Backup
        private void buttonRestore_Click(object sender, EventArgs e)
        {
            ///!!!
            //MessageBox.Show("Восстановление данных по выбранному сценарию", "Справка");
            if (listBoxScenario.SelectedIndex < 0)
            {
                return;
            }
            Scenario s = list[listBoxScenario.SelectedIndex];

            switch (s.scenarioType)
            {
            case ScenarioType.полный:
                MakeCopy.RestoreFull(ref s);
                break;

            case ScenarioType.инкрементальный:
                MakeCopy.RestoreIncremental(ref s);
                break;

            case ScenarioType.дифференциальный:
                MakeCopy.RestoreDifferential(ref s);
                break;

            case ScenarioType.зеркальный:
                MakeCopy.RestoreMirror(ref s);
                break;
            }
            ;
            NextStep = true;
        }
示例#2
0
        private void buttonRestore_Click(object sender, EventArgs e)
        {
            // Восстановление данных по выбранному сценарию
            if (listBoxScenario.SelectedIndex < 0)
            {
                return;
            }

            Scenario s = list[listBoxScenario.SelectedIndex];

            labelState.Text = "Восстановление " + s.Title;

            switch (s.scenarioType)
            {
            case ScenarioType.зеркальный:
                MakeCopy.RestoreMirror(ref s);
                break;

            case ScenarioType.полный:
                MakeCopy.RestoreFull(ref s);
                break;

            case ScenarioType.инкрементальный:
                MakeCopy.RestoreIncremental(ref s);
                break;

            case ScenarioType.дифференциальный:
                MakeCopy.RestoreDifferential(ref s);
                break;
            }
            ;
            NextStep        = true;
            labelState.Text = "Восстановление завершено";

            // Добавить в журнал сообщение о восстановлении
            using (StreamWriter sw = new StreamWriter(new FileStream(textBoxLogFile.Text, FileMode.Append)))
            {
                foreach (string log in MakeCopy.Log)
                {
                    sw.WriteLine(log);
                }
                MakeCopy.Log.Clear();
                sw.Write(DateTime.Now.ToString() + " ");
                sw.Write(s.ToString() + " ");
                sw.Write(" восстановление завершено");
                sw.WriteLine();
            }

            if (checkBoxMail.Checked)
            {
                try
                {
                    Mailer.SendMail(
                        textBoxSMTP.Text,
                        textBoxSender.Text,
                        textBoxPassword.Text,
                        textBoxEMail.Text,
                        "Резервное копирование: " + DateTime.Now.ToString() + " восстановление ",
                        s.ToString(),
                        textBoxLogFile.Text
                        );

                    labelState.Text += Environment.NewLine + "Почта отправлена!";
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message);
                }
            }
        }