Ejemplo n.º 1
0
        public static IConfigurationSourceRoot AddFile([NotNull] this IConfigurationSourceRoot configuration, [NotNull] string path, [NotNull] string extension = "")
        {
            if (!File.Exists(path))
            {
                return(configuration);
            }

            if (string.IsNullOrEmpty(extension))
            {
                extension = Path.GetExtension(path);
            }

            switch (extension.ToLowerInvariant())
            {
            case ".ini":
                configuration.AddIniFile(path);
                break;

            case ".json":
            case ".js":
            case ".user":
                configuration.AddJsonFile(path);
                break;
            }

            return(configuration);
        }
Ejemplo n.º 2
0
        public static IConfigurationSourceRoot AddJsonFile([NotNull] this IConfigurationSourceRoot configuration, [NotNull] string path, bool optional)
        {
            if (string.IsNullOrEmpty(path))
            {
                throw new ArgumentException(Json.Resources.Error_InvalidFilePath, nameof(path));
            }

            var s = JsonPathResolver.ResolveAppRelativePath(path);

            if (!optional && !File.Exists(s))
            {
                throw new FileNotFoundException(Json.Resources.Error_FileNotFound, s);
            }

            configuration.Add(new JsonConfigurationSource(path, optional));
            return(configuration);
        }
        IEnumerable <ShellSettings> IShellSettingsManager.LoadSettings()
        {
            var filePaths = _appDataFolder
                            .ListDirectories("Sites")
                            .SelectMany(path => _appDataFolder.ListFiles(path))
                            .Where(path => {
                var filePathName = Path.GetFileName(path);

                return(_settingFileNameExtensions.Any(p =>
                                                      string.Equals(filePathName, string.Format(_settingsFileNameFormat, p), StringComparison.OrdinalIgnoreCase)
                                                      ));
            });

            List <ShellSettings> shellSettings = new List <ShellSettings>();

            foreach (var filePath in filePaths)
            {
                IConfigurationSourceRoot configurationContainer = null;

                var extension = Path.GetExtension(filePath);

                switch (extension)
                {
                case ".json":
                    configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration()
                                             .AddJsonFile(filePath);
                    break;

                case ".xml":
                    configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration()
                                             .AddXmlFile(filePath);
                    break;

                case ".ini":
                    configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration()
                                             .AddIniFile(filePath);
                    break;

                case ".txt":
                    configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration()
                                             .Add(new DefaultFileConfigurationSource(_appDataFolder, filePath));
                    break;
                }

                if (configurationContainer != null)
                {
                    var shellSetting = new ShellSettings {
                        Name = configurationContainer.Get <string>("Name"),
                        DataConnectionString = configurationContainer.Get <string>("DataConnectionString"),
                        DataProvider         = configurationContainer.Get <string>("DataProvider"),
                        DataTablePrefix      = configurationContainer.Get <string>("DataTablePrefix"),
                        RequestUrlHost       = configurationContainer.Get <string>("RequestUrlHost"),
                        RequestUrlPrefix     = configurationContainer.Get <string>("RequestUrlPrefix")
                    };

                    TenantState state;
                    shellSetting.State = Enum.TryParse(configurationContainer.Get <string>("State"), true, out state) ? state : TenantState.Uninitialized;

                    shellSettings.Add(shellSetting);
                }
            }

            return(shellSettings);
        }
Ejemplo n.º 4
0
 public static IConfigurationSourceRoot AddJsonFile([NotNull] this IConfigurationSourceRoot configuration, [NotNull] string path)
 {
     return(configuration.AddJsonFile(path, false));
 }
Ejemplo n.º 5
0
        public virtual void AddCommandLine([NotNull] IConfigurationSourceRoot configurationSourceRoot, [NotNull, ItemNotNull] IEnumerable <string> commandLineArgs)
        {
            var args = configurationSourceRoot.GetCommandLine(commandLineArgs);

            configurationSourceRoot.AddCommandLine(args.ToArray());
        }
Ejemplo n.º 6
0
 public static IConfigurationSourceRoot AddEnvironmentVariables([NotNull] this IConfigurationSourceRoot configuration, [NotNull] string prefix)
 {
     configuration.Add(new EnvironmentVariablesConfigurationSource(prefix));
     return(configuration);
 }
Ejemplo n.º 7
0
 public static IConfigurationSourceRoot AddCommandLine([NotNull] this IConfigurationSourceRoot configuration, string[] args, IDictionary <string, string> switchMappings)
 {
     configuration.Add(new CommandLineConfigurationSource(args, switchMappings));
     return(configuration);
 }
Ejemplo n.º 8
0
 public static IConfigurationSourceRoot AddCommandLine([NotNull] this IConfigurationSourceRoot configuration, string[] args)
 {
     configuration.Add(new CommandLineConfigurationSource(args));
     return(configuration);
 }