Ejemplo n.º 1
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)
        {
            GroupAndRolePicker editControl = new GroupAndRolePicker {
                ID = id
            };

            if (configurationValues != null)
            {
                editControl.GroupControlLabel = configurationValues[CONFIG_GROUP_AND_ROLE_PICKER_LABEL].Value;
            }

            return(editControl);
        }
Ejemplo n.º 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)
        {
            GroupAndRolePicker groupAndRolePicker = control as GroupAndRolePicker;

            if (groupAndRolePicker != null)
            {
                var rockContext = new RockContext();

                Guid?groupTypeGuid     = null;
                Guid?groupGuid         = null;
                Guid?groupTypeRoleGuid = null;
                if (groupAndRolePicker.GroupTypeId.HasValue)
                {
                    var groupType = new GroupTypeService(rockContext).GetNoTracking(groupAndRolePicker.GroupTypeId.Value);
                    if (groupType != null)
                    {
                        groupTypeGuid = groupType.Guid;
                    }
                }

                if (groupAndRolePicker.GroupId.HasValue)
                {
                    var group = new GroupService(rockContext).Get(groupAndRolePicker.GroupId.Value);
                    if (group != null)
                    {
                        groupGuid = group.Guid;
                    }
                }

                if (groupAndRolePicker.GroupRoleId.HasValue)
                {
                    var groupTypeRole = new GroupTypeRoleService(rockContext).Get(groupAndRolePicker.GroupRoleId.Value);
                    if (groupTypeRole != null)
                    {
                        groupTypeRoleGuid = groupTypeRole.Guid;
                    }
                }

                if (groupTypeGuid.HasValue || groupGuid.HasValue || groupTypeRoleGuid.HasValue)
                {
                    return(string.Format("{0}|{1}|{2}", groupTypeGuid, groupGuid, groupTypeRoleGuid));
                }
            }

            return(null);
        }
Ejemplo n.º 3
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)
        {
            GroupAndRolePicker groupAndRolePicker = control as GroupAndRolePicker;

            if (groupAndRolePicker != null)
            {
                // initialize in case the value isn't set
                groupAndRolePicker.GroupTypeId = null;
                groupAndRolePicker.GroupId     = null;
                groupAndRolePicker.GroupRoleId = null;

                string[] parts       = (value ?? string.Empty).Split('|');
                var      rockContext = new RockContext();
                if (parts.Length >= 1)
                {
                    var groupType = new GroupTypeService(rockContext).Get(parts[0].AsGuid());
                    if (groupType != null)
                    {
                        groupAndRolePicker.GroupTypeId = groupType.Id;
                    }

                    if (parts.Length >= 2)
                    {
                        var group = new GroupService(rockContext).Get(parts[1].AsGuid());
                        if (group != null)
                        {
                            groupAndRolePicker.GroupId = group.Id;
                        }
                    }

                    if (parts.Length >= 3)
                    {
                        var groupTypeRole = new GroupTypeRoleService(rockContext).Get(parts[2].AsGuid());
                        if (groupTypeRole != null)
                        {
                            groupAndRolePicker.GroupRoleId = groupTypeRole.Id;
                        }
                    }
                }
            }
        }