Exemplo n.º 1
0
        /// <summary>
        /// Процесс бэкапа
        /// </summary>
        /// <param name="args"></param>
        private void BackupProcess(object args)
        {
            var lErrors = new List <string>();
            var tParams = (args as TParams);

            tParams.CheckConflicts();
            var i = 0;

            foreach (var f in tParams.lFiles)
            {
                //пометка о начале операции
                SetCheckBox(i, null);
                var aimPath = tParams.mainFolder;
                //Изменение целевой директории при дубле
                if (tParams.Conflicts[i])
                {
                    aimPath = tParams.mainFolder + "\\" + f.Name;
                    Directory.CreateDirectory(aimPath);
                }
                //операция
                if (SaveOpen.DoCopy(f.PathString, aimPath))
                {
                    //пометка о завершении операции с успехом
                    SetCheckBox(i, true);
                }
                i++;
            }
            //Архивирования
            if (SaveOpen.settings.Options.DoZip)
            {
                SetCheckBox(i, null);
                ZipFile.CreateFromDirectory(tParams.mainFolder, tParams.mainFolder + ".zip");
                SetCheckBox(i, true);
                i++;
                //Удаление не архивированной копии
                if (SaveOpen.settings.Options.DeleteAfterZip)
                {
                    SetCheckBox(i, null);
                    Directory.Delete(tParams.mainFolder, true);
                    SetCheckBox(i, true);
                    i++;
                }
            }
            //Завершение
            SaveOpen.settings.Options.LastBackup = DateTime.Now;//пометка о выполненнии Бэкапа
            this.Dispatcher.Invoke(DispatcherPriority.ContextIdle, new Action(delegate()
            {
                State = 0;
                //Закрытие программы
                if (SaveOpen.settings.Options.CloseAfterBackup && lErrors.Count == 0)
                {
                    this.Owner.Close();
                }
                else
                {
                    MessageBox.Show("Process finished", "Finish", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }));
        }
Exemplo n.º 2
0
        private void miGetFullSize_Click(object sender, RoutedEventArgs e)
        {
            long fullSize = 0;

            foreach (var f in lFiles)
            {
                fullSize += f.GetSize();
            }

            MessageBox.Show(SaveOpen.SizeToString(fullSize, false), "Total size", MessageBoxButton.OK, MessageBoxImage.Information);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Загрузка настроек
        /// </summary>
        private void LoadSettings()
        {
            var settings = SaveOpen.LoadSettings();

            lFiles = settings.lFiles;
            tbBackupDirectory.Text       = settings.directoryForBackup;
            miDoZip.IsChecked            = settings.Options.DoZip;
            miCloseAfterBackup.IsChecked = settings.Options.CloseAfterBackup;

            SetSettings(settings);

            Refresh();
        }
Exemplo n.º 4
0
 /// <summary>
 /// Сохранение настроек
 /// </summary>
 private bool SaveSettings()
 {
     FillSettings();
     return(SaveOpen.SaveSettings());
 }
Exemplo n.º 5
0
 /// <summary>
 /// Самоопределение размера
 /// </summary>
 /// <returns></returns>
 public long GetSize()
 {
     Size = SaveOpen.GetSize(PathString);
     return(Size);
 }