public static IBuilder Register(
            this IBuilder builder,
            Type configurationType,
            string fullPathToFolder,
            Environment environment,
            FileType fileType,
            bool isOptional
            )
        {
            var isDefault = environment == Environment.Default;
            var filename  = new StringBuilder()
                            .Append(configurationType.Name)
                            .Append(isDefault ? "" : $".{environment.ToString()}")
                            .Append(".json")
                            .ToString();
            var path = string.IsNullOrEmpty(fullPathToFolder) ?
                       filename :
                       Path.Combine(fullPathToFolder, filename);

            switch (fileType)
            {
            case FileType.Json:
                return(builder.AddJsonFile(path, isOptional, true));

            case FileType.Xml:
                return(builder.AddXmlFile(path, isOptional, true));

            case FileType.Ini:
                return(builder.AddIniFile(path, isOptional, true));
            }

            throw new NotSupportedException(fileType.ToString());
        }
Exemplo n.º 2
0
 public ConfigurationSource With(Environment environment)
 {
     return(new ConfigurationSource(this)
     {
         Environment = environment
     });
 }
Exemplo n.º 3
0
 public ConfigurationSource(
     DirectoryInfo directoryInfo,
     Type configurationType,
     Environment environment,
     FileType fileType,
     bool isOptional
     ) : this(configurationType, environment, fileType, isOptional)
 {
     this.ConfigurationsDirectory = directoryInfo;
 }
Exemplo n.º 4
0
 public ConfigurationSource(
     Type configurationType,
     Environment environment,
     FileType fileType,
     bool isOptional
     )
 {
     this.ConfigurationType = configurationType;
     this.Environment       = environment;
     this.FileType          = fileType;
     this.IsOptional        = isOptional;
 }
 public static IBuilder Register(
     this IBuilder builder,
     Type configurationType,
     Environment environment,
     FileType fileType,
     bool isOptional
     )
 {
     return(builder.Register(
                configurationType,
                null,
                environment,
                fileType,
                isOptional
                ));
 }