protected override void OnModelCreation(ConfigurationSetModelBuilder <SampleConfigSet> modelBuilder) { var configBuilder = modelBuilder.Config(s => s.SampleConfig, "Sample Config", "Basic Configuration"); configBuilder.Property(p => p.IsLlamaFarmer); configBuilder.Property(p => p.Decimal).WithDisplayName("Value").WithDescription("Is a value in decimal"); configBuilder.Property(p => p.LlamaCapacity) .WithDescription("Is the capacity of llama") .WithMinValue(0) .WithMaxValue(50); configBuilder.Property(p => p.StartDate) .WithMinValue(new DateTime(2013, 10, 10)); configBuilder.Property(p => p.Name).WithMaxLength(250); configBuilder.PropertyWithOption(p => p.Option, (SampleConfigSet set) => set.OptionFromProvider) .WithDescription("Is a selected option"); configBuilder.PropertyWithMultipleOptions(p => p.MoarOptions, (SampleConfigSet set) => set.OptionFromProvider) .WithDescription("Is a multi select option"); configBuilder.Collection(p => p.ListOfConfigs); configBuilder.PropertyWithOption(p => p.OptionFromConfigSet, (SampleConfigSet set) => set.Options) .WithDescription("Options from the option set"); configBuilder.PropertyWithMultipleOptions(p => p.MoarOptionFromConfigSet, (SampleConfigSet set) => set.Options) .WithDescription("Multiple Options from the option set"); modelBuilder.Options(s => s.Options, o => o.Id, o => o.Description, "Options", "Options for sample config"); modelBuilder.Options(s => s.OptionFromProvider, o => o.Id, o => o.Description, (IOptionProvider provider) => provider.GetOptions(), "Options From provider", "Options from provider for sample config"); }
public void CanBuildModel_WithConfig_HasDefaultValues() { var builder = new ConfigurationSetModelBuilder<TestConfigSet>(setName, setDescription); builder.Config(x=> x.Sample); var setModel = builder.Build(); var configModel = setModel.Get<SimpleConfig>(); Assert.Equal(typeof(SimpleConfig), configModel.Type); Assert.Equal(string.Empty, configModel.ConfigurationDescription); Assert.Equal(typeof(SimpleConfig).Name, configModel.ConfigurationDisplayName); Assert.Equal(nameof(TestConfigSet.Sample), configModel.Name); }
public void CanBuildModel_WithConfig_WithNameDescription() { var builder = new ConfigurationSetModelBuilder<TestConfigSet>(setName, setDescription); var name = "test"; var descript = "test descript"; builder.Config(x=> x.Sample, name, descript); var setModel = builder.Build(); var configModel = setModel.Get<SimpleConfig>(); Assert.Equal(typeof(SimpleConfig), configModel.Type); Assert.Equal(descript, configModel.ConfigurationDescription); Assert.Equal(name, configModel.ConfigurationDisplayName); }
protected override void OnModelCreation(ConfigurationSetModelBuilder <TestConfiguationModule> modelBuilder) { modelBuilder.Options(set => set.Options, r => r.Id, r => r.Description); modelBuilder.Options(set => set.OptionsFromProvider, r => r.Id, r => r.Description, (IOptionProvider provider) => provider.GetOptions()); var optionConfig = modelBuilder.Options(set => set.OptionDependentOnAnotherOption, r => r.Id, r => r) .PropertyWithOption(r => r.ExternalOption, (TestConfiguationModule option) => option.Options); var configBuilder = modelBuilder.Config(set => set.TestConfig); configBuilder.PropertyWithOption(p => p.ExternalOption, (TestConfiguationModule provider) => provider.Options); configBuilder.PropertyWithOption(p => p.Option, (TestConfiguationModule provider) => provider.OptionsFromProvider); configBuilder.PropertyWithMultipleOptions(p => p.MoarOptions, (TestConfiguationModule provider) => provider.OptionsFromProvider); }
protected override void OnModelCreation(ConfigurationSetModelBuilder <SampleConfigSet> modelBuilder) { var configBuilder = modelBuilder.Config(s => s.SampleConfig, "Sample Config", "Basic Configuration"); configBuilder.Property(p => p.IsLlamaFarmer); configBuilder.Property(p => p.Decimal) .WithDisplayName("Value") .WithDescription("Is a value in decimal"); configBuilder.Property(p => p.LlamaCapacity) .WithDescription("Is the capacity of llama") .WithMinValue(0) .WithMaxValue(50); configBuilder.Property(p => p.SpareLlamaCapacity) .WithDescription("Some spare capacity for LLamas") .WithMaxValue(50); configBuilder.Property(p => p.StartDate) .WithMinValue(new DateTime(2013, 10, 10)); configBuilder.Property(p => p.Name).WithMaxLength(250); configBuilder.PropertyWithOption(p => p.Option, (SampleConfigSet set) => set.OptionFromProvider) .WithDescription("Is a selected option"); configBuilder.PropertyWithMultipleOptions(p => p.MoarOptions, (SampleConfigSet set) => set.OptionFromProvider) .WithDescription("Is a multi select option"); configBuilder.Collection(p => p.ListOfConfigs) .WithUniqueKey(x => x.Name); configBuilder.PropertyWithOptionValue(p => p.OptionId, (SampleConfigSet set) => set.OptionFromProvider, option => option.Id); configBuilder.Collection(p => p.ListOfInts).HasUniqueValues(); configBuilder.Collection(p => p.ListOfStrings).HasUniqueValues(); modelBuilder.Options(s => s.Options, o => o.Id, o => o.Description, "Options", "Options for sample config"); modelBuilder.Options(s => s.OptionFromProvider, o => o.Id, o => o.Description, (IOptionProvider optionProvider) => optionProvider.GetOptions(), "Options", "Options for sample config"); }