Beispiel #1
0
        public string GetKeyFromObject(object value, IOptionPropertyDefinition definition)
        {
            var dependency  = definition.GetDependencies().Single();
            var optionModel = (ConfigurationOptionModel)registry.GetConfigSetDefinition(dependency.ConfigurationSet).Get(definition.PropertyType);

            return(optionModel.GetKeyFromObject(value));
        }
 public IOptionSet Build(IOptionPropertyDefinition definition, ConfigurationIdentity configIdentity, IEnumerable <ConfigurationSet> configurationSets)
 {
     if (definition is ConfigurationPropertyWithOptionModelDefinition optionModelDefinition)
     {
         return(Build(optionModelDefinition, configurationSets));
     }
     throw new InvalidOperationException($"Could not build option set for definition type of {definition.GetType()}");
 }
        private object GetOptionConfigPropertyValueFromInput(JObject source, IOptionPropertyDefinition propertyModel, ConfigurationIdentity configIdentity, IEnumerable <ConfigurationSet> requiredConfigurationSets)
        {
            var        key       = source.GetValue(propertyModel.ConfigurationPropertyName.ToLowerCamelCase()).ToObject <string>();
            IOptionSet optionSet = optionSetFactory.Build(propertyModel, configIdentity, requiredConfigurationSets);
            object     option    = null;

            optionSet.TryGetValue(key, out option);
            return(option);
        }
Beispiel #4
0
        private ConfigurationPropertyPayload BuildProperty(IOptionPropertyDefinition value, ConfigurationIdentity configIdentity, IEnumerable <ConfigurationSet> requiredConfigurationSets)
        {
            var optionSet = optionSetFactory.Build(value, configIdentity, requiredConfigurationSets);

            return(new ConfigurationPropertyPayload
            {
                PropertyName = value.ConfigurationPropertyName.ToLowerCamelCase(),
                PropertyDisplayName = value.PropertyDisplayName,
                PropertyType = propertyTypeProvider.GetPropertyType(value),
                PropertyDescription = value.PropertyDescription,
                Options = optionSet.OptionSelections.ToDictionary(k => k.Key, v => v.DisplayValue)
            });
        }
Beispiel #5
0
        private object GetOptionPropertyValue(object source, IOptionPropertyDefinition propertyModel)
        {
            var value = propertyModel.GetPropertyValue(source);

            if (value == null)
            {
                return(null);
            }
            if (propertyModel is ConfigurationPropertyWithOptionValueModelDefinition)
            {
                return(value);
            }
            return(optionSetFactory.GetKeyFromObject(value, propertyModel));
        }
        private void UpdateOptions(object source, IOptionPropertyDefinition model, IEnumerable <ConfigurationSet> configurationSets, ConfigurationIdentity configIdentity)
        {
            if (model is ConfigurationPropertyWithOptionValueModelDefinition)
            {
                return;
            }
            var orignal = model.GetPropertyValue(source);

            if (orignal == null)
            {
                return;
            }
            var optionSet = optionSetFactory.Build(model, configIdentity, configurationSets);

            optionSet.TryGetValue(orignal, out var actualValue);
            model.SetPropertyValue(source, actualValue);
        }
        private ValidationResult ValidateProperty(object target, IOptionPropertyDefinition propertyModel, ConfigurationIdentity configIdentity, IEnumerable <ConfigurationSet> configurationSets)
        {
            var errors        = new List <string>();
            var propertyValue = propertyModel.GetPropertyValue(target);
            var options       = optionSetFactory.Build(propertyModel, configIdentity, configurationSets);

            if (propertyModel is ConfigurationPropertyWithOptionValueModelDefinition valueModel)
            {
                if (!options.ContainsKey(propertyValue))
                {
                    errors.Add(ValidationStrings.OptionNotFound(propertyModel.ConfigurationPropertyName));
                }
            }
            else if (!options.OptionKeyInSet(propertyValue))
            {
                errors.Add(ValidationStrings.OptionNotFound(propertyModel.ConfigurationPropertyName));
            }
            return(new ValidationResult(errors));
        }
Beispiel #8
0
        public string GetKeyFromObject(object value, IOptionPropertyDefinition definition)
        {
            var dynamic = (dynamic)value;

            return(dynamic.Id.ToString());
        }
Beispiel #9
0
        public IOptionSet Build(IOptionPropertyDefinition definition, ConfigurationIdentity configIdentity, IEnumerable <ConfigurationSet> configurationSets)
        {
            var configurationSet = configurationSets.SingleOrDefault(r => r.GetType() == definition.ConfigurationSetType);

            return(Build(definition, configurationSet));
        }
Beispiel #10
0
 public IOptionSet Build(IOptionPropertyDefinition definition, ConfigurationSet configurationSet) => definition.GetOptionSet(configurationSet);
Beispiel #11
0
        private IOptionSet Build(IOptionPropertyDefinition definition, IEnumerable <ConfigurationSet> configurationSets)
        {
            var configurationSet = configurationSets.Single(r => r.GetType() == definition.ConfigurationSetType);

            return(Build(definition, configurationSet));
        }
Beispiel #12
0
 public IOptionSet Build(IOptionPropertyDefinition definition, ConfigurationIdentity configIdentity, IEnumerable <ConfigurationSet> configurationSets)
 {
     return(Build(definition, configurationSets));
 }