Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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);
            }
        }