Exemple #1
0
 public static void InsertDefaults(Dictionary <string, ParameterDescription> parameterDescriptions, TransformManagerDataControl into, bool overriding)
 {
     foreach (var param in parameterDescriptions)
     {
         if (!into.ContainsParameter(param.Key) || overriding)
         {
             into[param.Key] = param.Value.DefaultValue;
         }
     }
 }
Exemple #2
0
            public ChangeParameterTool(TransformManagerDataControl transformManagerDataControl, params KeyValuePair <string, object>[] newValues)
            {
                this.transformManagerDataControl = transformManagerDataControl;
                this.newValues = newValues;

                this.oldValues = new Dictionary <string, object>();
                foreach (var kv in newValues)
                {
                    oldValues[kv.Key] = transformManagerDataControl.ContainsParameter(kv.Key) ? transformManagerDataControl[kv.Key] : null;
                }
            }
Exemple #3
0
        public static T GetValue <T>(this TransformManagerDataControl transformManagerDataControl, T @default, Converter <T>[] converters, params string[] names)
        {
            var value = names.Where(n => transformManagerDataControl.ContainsParameter(n))
                        .Select(n => transformManagerDataControl[n]).DefaultIfEmpty(@default).First();

            if (value is T)
            {
                return((T)value);
            }

            if (converters != null)
            {
                var validConverter = converters.Where(c => c.OriginType == value.GetType());
                if (validConverter.Any())
                {
                    return(validConverter.First().Convert(value));
                }
            }

            return(@default);
        }