public static IConfigurationBuilder AddADSConfiguration(
            this IConfigurationBuilder builder,
            ADSConfigurationServiceOptions options)
        {
            builder.Add(new ADSConfigurationSource(options));

            return(builder);
        }
        public static IConfigurationBuilder AddADSConfiguration
            (this IConfigurationBuilder builder,
            Action <ADSConfigurationServiceOptions> setup)
        {
            var options = new ADSConfigurationServiceOptions();

            setup(options);
            return(builder.AddADSConfiguration(options));
        }
        public static IServiceCollection AddADSConfiguration(this IServiceCollection services)
        {
            var assembly = typeof(ADSConfigurationExtensions).GetTypeInfo().Assembly;

            services.AddMvc()
            .AddApplicationPart(assembly);

            services.AddRouting(routing => {
            });

            var options = new ADSConfigurationServiceOptions();

            services.AddSingleton <IConfigurationService, ConfigurationService>();

            return(services);
        }
        public static IConfigurationBuilder AddADSConfiguration
            (this IConfigurationBuilder builder)
        {
            var options = new ADSConfigurationServiceOptions
            {
                ServiceId          = Environment.GetEnvironmentVariable("ServiceId"),
                Service            = Environment.GetEnvironmentVariable("Service"),
                ServiceVersion     = Environment.GetEnvironmentVariable("ServiceVersion"),
                ServiceEnvironment = Environment
                                     .GetEnvironmentVariable("ServiceEnvironment"),
                ServiceConfiguration =
                    Environment.GetEnvironmentVariable("Global__Services__Configuration_Service")
            };

            return(builder.AddADSConfiguration(options));
        }