/// <summary> /// Applies a dynamc value to an object. /// </summary> /// <param name="value">The object to apply the value to.</param> /// <param name="parameters">The parameters to apply.</param> /// <param name="parameterDefinitions">The original parameter definitions.</param> public virtual void ApplyTo(object value, Dictionary <string, string> parameters, IEnumerable <ParameterBase> parameterDefinitions) { DynamicValueUtility.PropertyValue property = DynamicValueUtility.FindProperty(value, propertyName); if (property != null) { var actualParameters = new List <object>(); foreach (NameValuePair parameterName in parameterValues) { object actualValue; if (parameters.ContainsKey(parameterName.Name)) { var inputValue = parameters[parameterName.Name]; actualValue = DynamicValueUtility.ConvertValue(parameterName.Name, inputValue, parameterDefinitions); } else { actualValue = DynamicValueUtility.ConvertValue(parameterName.Name, parameterName.Value, parameterDefinitions); } actualParameters.Add(actualValue); } string parameterValue = string.Format(CultureInfo.CurrentCulture, this.formatValue, actualParameters.ToArray()); property.ChangeProperty(parameterValue); } }
/// <summary> /// Applies a dynamc value to an object. /// </summary> /// <param name="value">The object to apply the value to.</param> /// <param name="parameters">The parameters to apply.</param> /// <param name="parameterDefinitions">The original parameter definitions.</param> public virtual void ApplyTo(object value, Dictionary <string, string> parameters, IEnumerable <ParameterBase> parameterDefinitions) { DynamicValueUtility.PropertyValue property = DynamicValueUtility.FindProperty(value, propertyName); if (property != null) { string parameterValue = defaultValue; if (parameters.ContainsKey(parameterName)) { parameterValue = parameters[parameterName]; } var actualValue = DynamicValueUtility.ConvertValue(parameterName, parameterValue, parameterDefinitions); property.ChangeProperty(actualValue); } }
public virtual XmlNode PreprocessParameters(NetReflectorTypeTable typeTable, XmlNode inputNode) { var node = DynamicValueUtility.ConvertXmlToDynamicValues(typeTable, inputNode); if (!string.IsNullOrEmpty(inputNode.NamespaceURI) && inputNode.NamespaceURI.StartsWith("http://thoughtworks.org/ccnet/")) { var parts = inputNode.NamespaceURI.Split('/'); var version = new Version( Convert.ToInt32(parts[parts.Length - 2], CultureInfo.CurrentCulture), Convert.ToInt32(parts[parts.Length - 1], CultureInfo.CurrentCulture)); node = this.UpgradeConfiguration(version, node); } return(node); }
private void CheckPart(DynamicValueUtility.PropertyPart part, int position, string name, string keyName, string keyValue) { Assert.AreEqual(name, part.Name, string.Format("Part name does not match [{0}]", position)); Assert.AreEqual(keyName, part.KeyName, string.Format("Part key name does not match [{0}]", position)); Assert.AreEqual(keyValue, part.KeyValue, string.Format("Part key value does not match [{0}]", position)); }
private void CheckPart(DynamicValueUtility.PropertyPart part, int position, string name, string keyName, string keyValue) { Assert.AreEqual(name, part.Name, string.Format(System.Globalization.CultureInfo.CurrentCulture, "Part name does not match [{0}]", position)); Assert.AreEqual(keyName, part.KeyName, string.Format(System.Globalization.CultureInfo.CurrentCulture, "Part key name does not match [{0}]", position)); Assert.AreEqual(keyValue, part.KeyValue, string.Format(System.Globalization.CultureInfo.CurrentCulture, "Part key value does not match [{0}]", position)); }