/// <summary> /// create template by input /// </summary> public bool AddTemplate(string name, string addpaths, string excludepaths, string typeFilter, bool invertType) { // check that inputs are not empty if (string.IsNullOrWhiteSpace(name)) { communication.SendOutput("[Templates] Enter a template name", true); return(false); } if (string.IsNullOrWhiteSpace(addpaths)) { communication.SendOutput("[Templates] Select at least one path", true); return(false); } // make sure the name has no special characters (will be used for creating folder) name = System.Text.RegularExpressions.Regex.Replace(name, "[^a-zA-Z0-9]", "_"); // create + save template BackupTemplate template = new BackupTemplate(name, addpaths, excludepaths, typeFilter, invertType); if (!AddTemplate(template)) { return(false); } communication.SendOutput("[Templates] Created backup template " + template.BackupName); return(true); }
/// <summary> /// import templates from xml /// </summary> public bool ImportFromXML(string txtTemplate) { if (string.IsNullOrWhiteSpace(txtTemplate) || !txtTemplate.Contains(SplitExport)) { communication.SendOutput("[Import] nothing to import"); return(false); } int countBefore = SavedTemplatesCount(); List <string> importTemplates = txtTemplate.Split(new string[] { SplitExport }, StringSplitOptions.RemoveEmptyEntries).ToList(); bool flag = true; foreach (string s in importTemplates) { if (!AddTemplate(BackupTemplate.FromXML(s))) { flag = false; } } if (countBefore == SavedTemplatesCount()) { communication.SendOutput("[Import] 0 templates were imported", true); return(false); } else { communication.SendOutput("[Import] Imported " + (SavedTemplatesCount() - countBefore) + " templates"); } return(flag); }
/// <summary> /// add template to settings + check name of it /// </summary> public bool AddTemplate(BackupTemplate template) { //check if name is valid foreach (BackupTemplate checkName in CSettings.Default.SavedTemplates) { if (checkName.Equals(template)) { communication.SendOutput("[Templates] Backup name already exists: " + template.BackupName + ", try a different name"); return(false); } } // save settings here CSettings.Default.SavedTemplates.Add(template); CSettings.Default.Save(); return(true); }
/// <summary> /// remove templates from settings /// </summary> public bool RemoveTemplate(string templateName) { BackupTemplate remove = GetTemplateByName(templateName); if (remove == null) { communication.SendOutput("[Templates] Can't remove template that does not exist", true); return(false); } if (CSettings.Default.SavedTemplates.Remove(remove)) { communication.SendOutput("[Templates] Removed template " + remove.BackupName); return(true); } else { communication.SendOutput("[Templates] Could not remove template from settings"); return(false); } }