示例#1
0
        public void DeleteBackup(BackupDefenition bs)
        {
            if (bs == null)
            {
                return;
            }

            try
            {
                if (_backups.ContainsKey(bs.Name))
                {
                    _backups.Remove(bs.Name);
                }
                foreach (XmlElement xmlElement in _backupXml.ChildNodes)
                {
                    if (xmlElement.GetAttribute("name").Equals(bs.Name))
                    {
                        _backupXml.RemoveChild(xmlElement);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Log(LogLevel.Severe, "Backupmanager", "Severe error in deleteBackup(bs)!", ex.Message);
            }
            if (BackupsLoaded != null)
            {
                BackupsLoaded();
            }
        }
示例#2
0
        private void BtnBackupExecute_Click(Object sender, EventArgs e)
        {
            if (SlvBackups.SelectedItems.Count < 1 || SlvBackups.SelectedItems[0] == null)
            {
                return;
            }
            BackupDefenition backup = Backup.Reference.GetBackupByName(SlvBackups.SelectedItems[0].SubItems[0].Text);

            backup.Execute();
        }
示例#3
0
 public void SaveBackup(BackupDefenition oldBackup, BackupDefenition newBackup)
 {
     Logger.Log(LogLevel.Info, "Backupmanager",
                "Updating backup: " + oldBackup.Name + " - Will be replaced by its updated version");
     DeleteBackup(oldBackup);
     AddBackupToXml(newBackup);
     if (BackupsLoaded != null)
     {
         BackupsLoaded();
     }
 }
示例#4
0
        private void BtnBackupRemove_Click(Object sender, EventArgs e)
        {
            if (SlvBackups.SelectedItems.Count < 1 || SlvBackups.SelectedItems[0] == null)
            {
                return;
            }
            BackupDefenition backup = Backup.Reference.GetBackupByName(SlvBackups.SelectedItems[0].SubItems[0].Text);

            Backup.Reference.DeleteBackup(backup);
            UpdateUi();
        }
示例#5
0
		private void BtnOk_Click(Object sender, EventArgs e)
		{
			Defenition = new BackupDefenition {Name = TxtName.Text};
			foreach (string dir in TxtFolders.Text.Split(';'))
			{
				Defenition.AddFolder(dir);
			}
			Defenition.TargetDirectory = TxtDestination.Text;
			Defenition.Compression = ChkCompression.Checked;
			DialogResult = DialogResult.OK;
			Close();
		}
示例#6
0
 private void BtnOk_Click(Object sender, EventArgs e)
 {
     Defenition = new BackupDefenition {
         Name = TxtName.Text
     };
     foreach (string dir in TxtFolders.Text.Split(';'))
     {
         Defenition.AddFolder(dir);
     }
     Defenition.TargetDirectory = TxtDestination.Text;
     Defenition.Compression     = ChkCompression.Checked;
     DialogResult = DialogResult.OK;
     Close();
 }
示例#7
0
        private void BtnBackupEdit_Click(Object sender, EventArgs e)
        {
            if (SlvBackups.SelectedItems.Count < 1 || SlvBackups.SelectedItems[0] == null)
            {
                return;
            }
            BackupDefenition backup = Backup.Reference.GetBackupByName(SlvBackups.SelectedItems[0].SubItems[0].Text);
            BackupDialog     bd     = new BackupDialog(backup);

            if (bd.ShowDialog() == DialogResult.OK)
            {
                Backup.Reference.SaveBackup(backup, bd.Defenition);
            }
            UpdateUi();
        }
示例#8
0
        /// <summary>
        ///     Load all folders and files from the xml defenition
        /// </summary>
        /// <param name="xmle">The xml element defining the backup</param>
        /// <returns>Returns the backup defenition</returns>
        public static BackupDefenition LoadXml(XmlElement xmle)
        {
            if (xmle != null)
            {
                BackupDefenition bd = new BackupDefenition();
                try
                {
                    bd.Name = xmle.GetAttribute("name");

                    XmlElement foldersElement = (XmlElement)xmle.GetElementsByTagName("folders")[0];
                    foreach (string folder in foldersElement.InnerText.Split(';'))
                    {
                        string entry = folder.Trim(';').Trim();
                        if (Directory.Exists(entry))
                        {
                            bd.AddFolder(entry);
                        }
                        if (File.Exists(entry))
                        {
                            bd.AddFile(entry);
                        }
                    }

                    XmlElement destinationE = (XmlElement)xmle.GetElementsByTagName("destination")[0];
                    bd.TargetDirectory = destinationE.InnerText;

                    XmlElement compressionE = (XmlElement)xmle.GetElementsByTagName("compression")[0];
                    bd.Compression = (compressionE.InnerText.ToLower() == "true");

                    Logger.Log(LogLevel.Info, "Backupmanager", "Loaded backup:" + bd.Name + " :Backup enabled");
                }
                catch (Exception ex)
                {
                    Logger.Log(LogLevel.Warning, "Backupmanager", "Could not load backup:" + ex.Message);
                    return(null);
                }
                return(bd);
            }
            Logger.Log(LogLevel.Warning, "Backupmanager", "Skipped backup! Wrong XML");
            MetroMessageBox.Show(Application.OpenForms[0],
                                 Locale.Tr(
                                     "One of your backup profiles wasn't loaded: the file is probably corrupt! The backup profile was removed."),
                                 Locale.Tr("Can't load backup profile"), MessageBoxButtons.OK, MessageBoxIcon.Error);
            return(null);
        }
示例#9
0
        public bool AddBackupToXml(BackupDefenition bs)
        {
            if (bs == null)
            {
                return(false);
            }
            if (Backups.ContainsKey(bs.Name))
            {
                MetroMessageBox.Show(Application.OpenForms[0],
                                     "Couldn't save backup! You already defined another backup with this name:" + bs.Name,
                                     "Couldn't save backup", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            if (string.IsNullOrEmpty(bs.Name))
            {
                MetroMessageBox.Show(Application.OpenForms[0],
                                     "Couldn't save backup! You didn't enter a name for this backup!",
                                     "Couldn't save backup", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            try
            {
                string content = "<backup name=\"" + bs.Name + "\">" +
                                 "	<folders>"+ StringUtil.ListToCsv(bs.Folders, ';') + "</folders>" +
                                 "	<destination>"+ bs.TargetDirectory + "</destination>" +
                                 "	<compression>"+ bs.Compression.ToString().ToLower() + "</compression>" +
                                 "</backup>";
                _backupXml.FirstChild.InnerXml += content;

                _backupXml.Save(_backupXmlPath);

                Backups.Add(bs.Name, bs);
                if (BackupsLoaded != null)
                {
                    BackupsLoaded();
                }
            }
            catch (Exception ex)
            {
                Logger.Log(LogLevel.Severe, "Backupmanager", "Severe error in addBackup! " + ex.Message);
                return(false);
            }
            return(true);
        }
示例#10
0
		/// <summary>
		///     Load all folders and files from the xml defenition
		/// </summary>
		/// <param name="xmle">The xml element defining the backup</param>
		/// <returns>Returns the backup defenition</returns>
		public static BackupDefenition LoadXml(XmlElement xmle)
		{
			if (xmle != null)
			{
				BackupDefenition bd = new BackupDefenition();
				try
				{
					bd.Name = xmle.GetAttribute("name");

					XmlElement foldersElement = (XmlElement) xmle.GetElementsByTagName("folders")[0];
					foreach (string folder in foldersElement.InnerText.Split(';'))
					{
						string entry = folder.Trim(';').Trim();
						if (Directory.Exists(entry)) bd.AddFolder(entry);
						if (File.Exists(entry)) bd.AddFile(entry);
					}

					XmlElement destinationE = (XmlElement) xmle.GetElementsByTagName("destination")[0];
					bd.TargetDirectory = destinationE.InnerText;

					XmlElement compressionE = (XmlElement) xmle.GetElementsByTagName("compression")[0];
					bd.Compression = (compressionE.InnerText.ToLower() == "true");

					Logger.Log(LogLevel.Info, "Backupmanager", "Loaded backup:" + bd.Name + " :Backup enabled");
				}
				catch (Exception ex)
				{
					Logger.Log(LogLevel.Warning, "Backupmanager", "Could not load backup:" + ex.Message);
					return null;
				}
				return bd;
			}
			Logger.Log(LogLevel.Warning, "Backupmanager", "Skipped backup! Wrong XML");
			MetroMessageBox.Show(Application.OpenForms[0],
				Locale.Tr(
					"One of your backup profiles wasn't loaded: the file is probably corrupt! The backup profile was removed."),
				Locale.Tr("Can't load backup profile"), MessageBoxButtons.OK, MessageBoxIcon.Error);
			return null;
		}
示例#11
0
 public void LoadAllBackups()
 {
     try
     {
         _backups = new Dictionary <string, BackupDefenition>();
         Logger.Log(LogLevel.Info, "Backupmanager", "Loading backups...");
         XmlElement  rootElement = (XmlElement)_backupXml.GetElementsByTagName("backups")[0];
         XmlNodeList elements    = rootElement.GetElementsByTagName("backup");
         if (elements.Count > 0)
         {
             for (int i = 0; i < elements.Count; i++)
             {
                 Logger.Log(LogLevel.Info, "Backupmanager",
                            "Parsing backup " + i + 1 + " out of " + elements.Count);
                 XmlElement       xmle   = (XmlElement)elements[i];
                 BackupDefenition backup = new BackupDefenition();
                 backup.LoadXml(xmle);
                 if (!_backups.ContainsKey(backup.Name))
                 {
                     _backups.Add(backup.Name, backup);
                 }
                 else
                 {
                     Logger.Log(LogLevel.Warning, "Backupmanager", "Backup not loaded due to duplicate name!");
                 }
             }
         }
         Logger.Log(LogLevel.Info, "Backupmanager", "Loaded backups: " + _backups.Count + " backups loaded");
         if (BackupsLoaded != null)
         {
             BackupsLoaded();
         }
     }
     catch (Exception exception)
     {
         Logger.Log(LogLevel.Severe, "Backupmanager", "Failed to load backups!", exception.Message);
     }
 }
示例#12
0
        public bool AddBackupToXml(BackupDefenition bs)
        {
            if (bs == null) return false;
            if (_backups.ContainsKey(bs.Name))
            {
                MetroMessageBox.Show(Application.OpenForms[0],
                    "Couldn't save backup! You already defined another backup with this name:" + bs.Name,
                    "Couldn't save backup", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            if (string.IsNullOrEmpty(bs.Name))
            {
                MetroMessageBox.Show(Application.OpenForms[0],
                    "Couldn't save backup! You didn't enter a name for this backup!",
                    "Couldn't save backup", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            try
            {
                string content = "<backup name=\"" + bs.Name + "\">" +
                                 "	<folders>" + StringUtil.ListToCsv(bs.Folders, ';') + "</folders>" +
                                 "	<destination>" + bs.TargetDirectory + "</destination>" +
                                 "	<compression>" + bs.Compression.ToString().ToLower() + "</compression>" +
                                 "</backup>";
                _backupXml.FirstChild.InnerXml += content;

                _backupXml.Save(_backupXmlPath);

                _backups.Add(bs.Name, bs);
                if (BackupsLoaded != null)
                {
                    BackupsLoaded();
                }
            }
            catch (Exception ex)
            {
                Logger.Log(LogLevel.Severe, "Backupmanager", "Severe error in addBackup! " + ex.Message);
                return false;
            }
            return true;
        }
示例#13
0
		public BackupDialog(BackupDefenition defenition)
		{
			Load += BackupDialog_Load;
			InitializeComponent();
			Defenition = defenition;
		}
示例#14
0
 public BackupDialog(BackupDefenition defenition)
 {
     Load += BackupDialog_Load;
     InitializeComponent();
     Defenition = defenition;
 }
示例#15
0
 public void SaveBackup(BackupDefenition oldBackup, BackupDefenition newBackup)
 {
     Logger.Log(LogLevel.Info, "Backupmanager",
         "Updating backup: " + oldBackup.Name + " - Will be replaced by its updated version");
     DeleteBackup(oldBackup);
     AddBackupToXml(newBackup);
     if (BackupsLoaded != null)
     {
         BackupsLoaded();
     }
 }
示例#16
0
 public void LoadAllBackups()
 {
     try
     {
         _backups = new Dictionary<string, BackupDefenition>();
         Logger.Log(LogLevel.Info, "Backupmanager", "Loading backups...");
         XmlElement rootElement = (XmlElement) _backupXml.GetElementsByTagName("backups")[0];
         XmlNodeList elements = rootElement.GetElementsByTagName("backup");
         if (elements.Count > 0)
         {
             for (int i = 0; i < elements.Count; i++)
             {
                 Logger.Log(LogLevel.Info, "Backupmanager",
                     "Parsing backup " + i + 1 + " out of " + elements.Count);
                 XmlElement xmle = (XmlElement) elements[i];
                 BackupDefenition backup = new BackupDefenition();
                 backup.LoadXml(xmle);
                 if (!_backups.ContainsKey(backup.Name))
                 {
                     _backups.Add(backup.Name, backup);
                 }
                 else
                 {
                     Logger.Log(LogLevel.Warning, "Backupmanager", "Backup not loaded due to duplicate name!");
                 }
             }
         }
         Logger.Log(LogLevel.Info, "Backupmanager", "Loaded backups: " + _backups.Count + " backups loaded");
         if (BackupsLoaded != null)
         {
             BackupsLoaded();
         }
     }
     catch (Exception exception)
     {
         Logger.Log(LogLevel.Severe, "Backupmanager", "Failed to load backups!", exception.Message);
     }
 }
示例#17
0
        public void DeleteBackup(BackupDefenition bs)
        {
            if (bs == null) return;

            try
            {
                if (_backups.ContainsKey(bs.Name)) _backups.Remove(bs.Name);
                foreach (XmlElement xmlElement in _backupXml.ChildNodes)
                {
                    if (xmlElement.GetAttribute("name").Equals(bs.Name)) _backupXml.RemoveChild(xmlElement);
                }
            }
            catch (Exception ex)
            {
                Logger.Log(LogLevel.Severe, "Backupmanager", "Severe error in deleteBackup(bs)!", ex.Message);
            }
            if (BackupsLoaded != null)
            {
                BackupsLoaded();
            }
        }