Example #1
0
        /// <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;
                        }
                    }
                }
            }
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }