Пример #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var applicationId  = "3E37AC18-A00F-47A5-B84E-C79E0823F6D4";
            var application2Id = "6A302E7D-05E9-4188-9612-4A2920E5C1AE";

            // Add framework services.
            services.AddMvc();
            services.AddConfigServer()
            .UseConfigSet <SampleConfigSet>()
            .UseInMemoryProvider()
            .UseLocalConfigServerClient(applicationId)
            .WithConfig <SampleConfig>();
            services.AddTransient <IOptionProvider, OptionProvider>();

            var optionProvider = new OptionProvider();
            var config         = new SampleConfig
            {
                LlamaCapacity = 23,
                Name          = "Name",
                Decimal       = 23.47m,
                StartDate     = new DateTime(2013, 10, 10),
                IsLlamaFarmer = false,
                Option        = optionProvider.GetOptions().First(),
                MoarOptions   = optionProvider.GetOptions().Take(2).ToList(),
                ListOfConfigs = new List <ListConfig>
                {
                    new ListConfig {
                        Name = "Value One", Value = 1
                    },
                    new ListConfig {
                        Name = "Value Two", Value = 2
                    }
                }
            };
            var config2 = new SampleConfig
            {
                LlamaCapacity = 41,
                Name          = "Name 2",
                Decimal       = 41.47m,
                StartDate     = new DateTime(2013, 11, 11),
                IsLlamaFarmer = true,
                Option        = optionProvider.GetOptions().First(),
                MoarOptions   = optionProvider.GetOptions().Take(2).ToList(),
            };
            var serviceProvider = services.BuildServiceProvider();
            var configRepo      = serviceProvider.GetService <IConfigRepository>();

            configRepo.UpdateClientAsync(new ConfigurationClient {
                ClientId = applicationId, Name = "Mvc App", Description = "Embeded Application"
            }).Wait();
            configRepo.UpdateClientAsync(new ConfigurationClient {
                ClientId = application2Id, Name = "Mvc App 2", Description = "Second Application"
            }).Wait();

            configRepo.UpdateConfigAsync(new ConfigInstance <SampleConfig>(config, applicationId)).Wait();
            configRepo.UpdateConfigAsync(new ConfigInstance <SampleConfig>(config2, application2Id)).Wait();
        }
Пример #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var applicationId  = "3E37AC18-A00F-47A5-B84E-C79E0823F6D4";
            var application2Id = "6A302E7D-05E9-4188-9612-4A2920E5C1AE";

            services.AddMvc();
            // Add framework services.
            services.AddConfigServer()
            .UseConfigSet <SampleConfigSet>()
            .UseInMemoryProvider();
            services.AddTransient <IOptionProvider, OptionProvider>();
            var options1 = new List <OptionFromConfigSet>
            {
                new OptionFromConfigSet {
                    Id = 1, Description = "One", Value = 2.4
                },
                new OptionFromConfigSet {
                    Id = 2, Description = "Two", Value = 12.4
                }
            };
            var options2 = new List <OptionFromConfigSet>
            {
                new OptionFromConfigSet {
                    Id = 1, Description = "One", Value = 24.4
                },
                new OptionFromConfigSet {
                    Id = 2, Description = "Two", Value = 12.4
                }
            };
            var optionProvider = new OptionProvider();
            var config         = new SampleConfig
            {
                LlamaCapacity = 23,
                Name          = "Name",
                Decimal       = 23.47m,
                StartDate     = new DateTime(2013, 10, 10),
                IsLlamaFarmer = false,
                Option        = optionProvider.GetOptions().First(),
                OptionId      = optionProvider.GetOptions().First().Id,
                MoarOptions   = optionProvider.GetOptions().Take(2).ToList(),
                ListOfConfigs = new List <ListConfig>
                {
                    new ListConfig {
                        Name = "Value One", Value = 1
                    },
                    new ListConfig {
                        Name = "Value Two", Value = 2
                    }
                },
                OptionFromConfigSet     = options1[1],
                MoarOptionFromConfigSet = new List <OptionFromConfigSet> {
                    options1[0]
                },
                MoarOptionValues = optionProvider.GetOptions().Select(s => s.Id).Where(w => w % 2 == 0).ToList()
            };
            var config2 = new SampleConfig
            {
                LlamaCapacity           = 41,
                Name                    = "Name 2",
                Decimal                 = 41.47m,
                StartDate               = new DateTime(2013, 11, 11),
                Choice                  = Choice.OptionThree,
                IsLlamaFarmer           = true,
                Option                  = optionProvider.GetOptions().First(),
                OptionId                = optionProvider.GetOptions().First().Id,
                MoarOptions             = optionProvider.GetOptions().Take(2).ToList(),
                OptionFromConfigSet     = options2[0],
                MoarOptionFromConfigSet = new List <OptionFromConfigSet> {
                    options2[0], options2[1]
                },
                MoarOptionValues = new List <int> {
                    optionProvider.GetOptions().First().Id
                }
            };
            var serviceProvider = services.BuildServiceProvider();
            var configRepo      = serviceProvider.GetService <IConfigRepository>();

            configRepo.UpdateClientAsync(new ConfigurationClient {
                ClientId = applicationId, Name = "Mvc App Live", Group = "My app", Enviroment = "Live", Description = "Embeded Application"
            }).Wait();
            configRepo.UpdateClientAsync(new ConfigurationClient {
                ClientId = application2Id, Name = "Mvc App Test", Group = "My app", Enviroment = "UAT", Description = "Second Application"
            }).Wait();
            configRepo.UpdateConfigAsync(new ConfigCollectionInstance <OptionFromConfigSet>(options1, applicationId)).Wait();
            configRepo.UpdateConfigAsync(new ConfigCollectionInstance <OptionFromConfigSet>(options2, application2Id)).Wait();
            configRepo.UpdateConfigAsync(new ConfigInstance <SampleConfig>(config, applicationId)).Wait();
            configRepo.UpdateConfigAsync(new ConfigInstance <SampleConfig>(config2, application2Id)).Wait();
        }