Exemplo n.º 1
0
        /// <summary>
        /// Add group by type
        /// </summary>
        /// <param name="type"></param>
        private void AddGroup(SettingsFileType type)
        {
            if (nameGroupEdt.Text != null)
            {
                // group name
                string name = nameGroupEdt.Text;

                // files in group
                string[] files = getDataTable(propertyFileTable);

                // folders in groups
                string[] folders = getDataTable(propertyFolderTable);

                // CASE: add group from global to local (solved)
                if (selectedTableType == SettingsFileType.Global)
                {
                    model.NewGroup(name);
                }
                else
                {
                    model.NewGroup(name, files, folders);
                }

                // update view
                if (type == SettingsFileType.Local)
                {
                    ShowGroup(localTable, model.LocalGroups);
                }
                else
                {
                    ShowGroup(globalTable, model.GlobalGroups);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Delete group by type
        /// </summary>
        /// <param name="type"></param>
        private void DeleteGroup(SettingsFileType type)
        {
            string name = nameGroupEdt.Text;

            if (type == SettingsFileType.Local)
            {
                model.DeleteGroup(name, true, false);
                ShowGroup(localTable, model.LocalGroups);
            }
            else
            {
                model.DeleteGroup(name, false, true);
                ShowGroup(globalTable, model.GlobalGroups);
            }
            ClearAllAfterAddOrDelete();
        }
Exemplo n.º 3
0
        public XDocument LoadFile( SettingsFileType fileType )
        {
            string filename = null;

            switch ( fileType )
            {
                case SettingsFileType.Blacklist:
                    filename = "Blacklist.xml";
                    break;
                case SettingsFileType.ExtensionFilter:
                    filename = "FilterSettings.xml";
                    break;
                case SettingsFileType.HtmlBodyFilter:
                    filename = "FilterSettings.xml";
                    break;
                case SettingsFileType.MimeTypeFilter:
                    filename = "FilterSettings.xml";
                    break;
                case SettingsFileType.Whitelist:
                    filename = "WhiteList.xml";
                    break;
                default:
                    throw new ArgumentException("Unrecognized settings file type");
            }

            const string DefaultSettingsFileDirectory = ".\\addins\\settings";
            const string UserSettingsFileDirectory =  DefaultSettingsFileDirectory + "\\userprovided";

            // If the user override file is available than use it
            if (File.Exists(Path.Combine(UserSettingsFileDirectory, filename)))
            {
                return XDocument.Load( Path.Combine( UserSettingsFileDirectory, filename ) );
            }

            return XDocument.Load(Path.Combine(DefaultSettingsFileDirectory, filename));
        }
Exemplo n.º 4
0
 private void globalTable_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     selectedTableType = SettingsFileType.Global;
     CellContentClick(sender, e, model.GlobalGroups);
 }
Exemplo n.º 5
0
 /// <summary>
 /// Основной конструктор класса настроек
 /// </summary>
 /// <exception cref="ArgumentNullException"><paramref name="filePath"/> равен null.</exception>
 public Settings(string filePath, SettingsFileType type)
 {
     InitData();
     Type     = type;
     FilePath = filePath;
 }
Exemplo n.º 6
0
    private Stream GetSettingsFileStream(ConfigType type, SettingsFileType settings, CryptoProvider planCrypto)
    {
        Stream stream = null;

        if (String.IsNullOrWhiteSpace(settings.Name))
        {
            stream = null;
        }
        else
        {
            ZephyrFile settingsFile = Utilities.GetZephyrFile(settings.Name, clients);
            stream = settingsFile.Open(AccessType.Read);
            if (settings.HasEncryptedValues)
            {
                CryptoProvider crypto = new CryptoProvider();
                crypto.Key = new CryptoKeyInfo();
                if (planCrypto != null)
                {
                    crypto.Key.Uri           = planCrypto.Key.Uri;
                    crypto.Key.ContainerName = planCrypto.Key.ContainerName;
                    crypto.Key.CspFlags      = planCrypto.Key.CspFlags;
                }

                if (!String.IsNullOrWhiteSpace(settings.Crypto?.Key?.Uri))
                {
                    crypto.Key.Uri = settings.Crypto.Key.Uri;
                }
                if (!String.IsNullOrWhiteSpace(settings.Crypto?.Key?.ContainerName))
                {
                    crypto.Key.ContainerName = settings.Crypto.Key.ContainerName;
                }

                if (String.IsNullOrWhiteSpace(crypto.Key.Uri) || String.IsNullOrWhiteSpace(crypto.Key.ContainerName))
                {
                    OnLogMessage("SettingsFile", "WARNING : HasEncryptedValues flag is set, but no Crypto section was found in the plan.  No decryption will occur.");
                }
                else
                {
                    crypto.LoadRsaKeys();
                    String settingsFileContent = null;

                    switch (type)
                    {
                    case ConfigType.XmlTransform:
                        settingsFileContent = CryptoUtils.DecryptXmlFile(stream, crypto);
                        break;

                    default:
                        settingsFileContent = CryptoUtils.DecryptCsvFile(stream, crypto);
                        break;
                    }
                    byte[] byteArray = new byte[0];
                    if (!String.IsNullOrWhiteSpace(settingsFileContent))
                    {
                        byteArray = Encoding.UTF8.GetBytes(settingsFileContent);
                    }
                    stream = new MemoryStream(byteArray);
                }
            }
        }

        return(stream);
    }