/// <summary> /// Set properties of the extension business object from controls. /// </summary> /// <param name="extensionBizObject"></param> public void SetObjectPropertiesFromControlValues(IExtensionBizObject extensionBizObject) { Dictionary<string, IFieldMetadata> fieldMetadataDictionary = fieldMetadataControlBuilders.Keys.ToDictionary(kvp => kvp.Name, kvp => kvp); foreach (string fieldName in fieldMetadataDictionary.Keys) { IFieldMetadata fieldMetadata = fieldMetadataDictionary[fieldName]; IExtensionFieldControlBuilder fieldControlBuilder = this.fieldMetadataControlBuilders[fieldMetadata]; extensionBizObject[fieldName] = fieldControlBuilder.Value; } }
/// <summary> /// Set control value from extension business object. /// </summary> /// <param name="extensionBizObject"></param> public void SetControlValuesFromObjectProperties(IExtensionBizObject extensionBizObject) { Dictionary<string, IFieldMetadata> fieldMetadataDictionary = this.fieldMetadataControlBuilders.Keys.ToDictionary(kvp => kvp.Name, kvp => kvp); IEnumerator<KeyValuePair<string, object>> iterator = extensionBizObject.GetFieldEnumerator(); while (iterator.MoveNext()) { KeyValuePair<string, object> property = iterator.Current; if (!fieldMetadataDictionary.ContainsKey(property.Key)) continue; IFieldMetadata fieldMetadata = fieldMetadataDictionary[property.Key]; IExtensionFieldControlBuilder fieldControlBuilder = this.fieldMetadataControlBuilders[fieldMetadata]; fieldControlBuilder.Value = property.Value; } }