/// <summary> /// Sets the value. ( as Guid ) /// </summary> /// <param name="control">The control.</param> /// <param name="configurationValues">The configuration values.</param> /// <param name="value">The value.</param> public override void SetEditValue(System.Web.UI.Control control, Dictionary <string, ConfigurationValue> configurationValues, string value) { BlockTemplatePicker blockTemplatePicker = control as BlockTemplatePicker; if (blockTemplatePicker != null) { // initialize in case the value isn't set blockTemplatePicker.TemplateKey = null; blockTemplatePicker.TemplateValue = string.Empty; string[] parts = (value ?? string.Empty).Split(new[] { '|' }, 2); if (parts.Length >= 1) { var templateGuid = parts[0].AsGuid(); if (templateGuid == _CustomGuid) { blockTemplatePicker.TemplateKey = templateGuid; if (parts.Length >= 2) { blockTemplatePicker.TemplateValue = parts[1]; } } else { var definedValue = DefinedValueCache.Get(templateGuid); if (definedValue != null) { blockTemplatePicker.TemplateKey = definedValue.Guid; } } } } }
/// <summary> /// Reads new values entered by the user for the field ( as Guid ) /// </summary> /// <param name="control">Parent control that controls were added to in the CreateEditControl() method</param> /// <param name="configurationValues">The configuration values.</param> /// <returns></returns> public override string GetEditValue(System.Web.UI.Control control, Dictionary <string, ConfigurationValue> configurationValues) { BlockTemplatePicker blockTemplatePicker = control as BlockTemplatePicker; if (blockTemplatePicker != null) { if (blockTemplatePicker.TemplateKey.HasValue) { return(string.Format("{0}|{1}", blockTemplatePicker.TemplateKey, blockTemplatePicker.TemplateValue)); } } return(null); }
/// <summary> /// Creates the control(s) necessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override System.Web.UI.Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id) { BlockTemplatePicker editControl = new BlockTemplatePicker { ID = id }; if (configurationValues != null && configurationValues.ContainsKey(TEMPLATE_BLOCK_KEY)) { Guid blockTemplateDefinedValueGuid = Guid.Empty; if (Guid.TryParse(configurationValues[TEMPLATE_BLOCK_KEY].Value, out blockTemplateDefinedValueGuid) && blockTemplateDefinedValueGuid != Guid.Empty) { var definedValue = DefinedValueCache.Get(blockTemplateDefinedValueGuid); if (definedValue != null) { editControl.TemplateBlockValueId = definedValue.Id; } } } return(editControl); }