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

            switch (s.scenarioType)
            {
            case ScenarioType.полный:
                if (!MakeCopy.CopyFull(ref s))
                {
                    MessageBox.Show("Копия не сделана");
                }
                break;

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

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

            case ScenarioType.зеркальный:
                MakeCopy.CopyMirror(ref s);
                break;
            }
            ;
            NextStep = true;
        }
示例#2
0
        private void buttonCopy_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.CopyMirror(ref s);
                break;

            case ScenarioType.полный:
                if (!MakeCopy.CopyFull(ref s))
                {
                    MessageBox.Show("Копия не сделана");
                }
                break;

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

            case ScenarioType.дифференциальный:
                MakeCopy.CopyDifferential(ref s);
                break;
            }
            ;
            NextStep = true;
            list[listBoxScenario.SelectedIndex].LastTime = DateTime.Now;
            listBoxScenario_SelectedIndexChanged(null, null);
            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);
                }
            }
        }