コード例 #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 Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id)
        {
            var editControl = new RockDropDownList {
                ID = id
            };

            editControl.Items.Add(new ListItem());

            var opportunities = new ConnectionOpportunityService(new RockContext())
                                .Queryable().AsNoTracking()
                                .OrderBy(o => o.ConnectionType.Name)
                                .ThenBy(o => o.Name)
                                .Select(o => new
            {
                o.Guid,
                o.Name,
                ConnectionTypeName = o.ConnectionType.Name
            })
                                .ToList();

            if (opportunities.Any())
            {
                foreach (var opportunity in opportunities)
                {
                    var listItem = new ListItem(opportunity.Name, opportunity.Guid.ToString().ToUpper());
                    listItem.Attributes.Add("OptionGroup", opportunity.ConnectionTypeName);
                    editControl.Items.Add(listItem);
                }

                return(editControl);
            }

            return(null);
        }
コード例 #2
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 Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id)
        {
            bool includeInactive   = false;
            int? groupTypeFilterId = null;

            if (configurationValues != null)
            {
                includeInactive   = configurationValues.ContainsKey(INCLUDE_INACTIVE_KEY) && configurationValues[INCLUDE_INACTIVE_KEY].Value.AsBoolean();
                groupTypeFilterId = configurationValues.ContainsKey(CONNECTION_TYPE_FILTER) ? configurationValues[CONNECTION_TYPE_FILTER].Value.AsIntegerOrNull() : null;
            }

            var opportunities = new ConnectionOpportunityService(new RockContext())
                                .Queryable().AsNoTracking()
                                .Where(o => o.IsActive || includeInactive)
                                .OrderBy(o => o.ConnectionType.Name)
                                .ThenBy(o => o.Name)
                                .Select(o => new { o.Guid, o.Name, o.ConnectionType })
                                .ToList();

            var editControl = new RockDropDownList {
                ID = id
            };

            editControl.Items.Add(new ListItem());

            if (opportunities.Any())
            {
                foreach (var opportunity in opportunities)
                {
                    if (groupTypeFilterId != null && opportunity.ConnectionType.Id != groupTypeFilterId)
                    {
                        continue;
                    }

                    var listItem = new ListItem(opportunity.Name, opportunity.Guid.ToString().ToUpper());

                    // Don't add an option group if there is a filter since that would be only one group.
                    if (groupTypeFilterId == null)
                    {
                        listItem.Attributes.Add("OptionGroup", opportunity.ConnectionType.Name);
                    }

                    editControl.Items.Add(listItem);
                }

                return(editControl);
            }

            return(null);
        }
コード例 #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 Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id)
        {
            var editControl = new RockDropDownList {
                ID = id
            };

            editControl.Items.Add(new ListItem());

            bool includeInactive = (configurationValues != null && configurationValues.ContainsKey(INCLUDE_INACTIVE_KEY) && configurationValues[INCLUDE_INACTIVE_KEY].Value.AsBoolean());

            var opportunities = new ConnectionOpportunityService(new RockContext())
                                .Queryable().AsNoTracking()
                                .Where(o => o.IsActive || includeInactive)
                                .OrderBy(o => o.ConnectionType.Name)
                                .ThenBy(o => o.Name)
                                .Select(o => new
            {
                o.Guid,
                o.Name,
                ConnectionTypeName = o.ConnectionType.Name
            })
                                .ToList();

            if (opportunities.Any())
            {
                foreach (var opportunity in opportunities)
                {
                    var listItem = new ListItem(opportunity.Name, opportunity.Guid.ToString().ToUpper());
                    listItem.Attributes.Add("OptionGroup", opportunity.ConnectionTypeName);
                    editControl.Items.Add(listItem);
                }

                return(editControl);
            }

            return(null);
        }
コード例 #4
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 Control EditControl( Dictionary<string, ConfigurationValue> configurationValues, string id )
        {
            var editControl = new RockDropDownList { ID = id };
            editControl.Items.Add( new ListItem() );

            bool includeInactive = ( configurationValues != null && configurationValues.ContainsKey( INCLUDE_INACTIVE_KEY ) && configurationValues[INCLUDE_INACTIVE_KEY].Value.AsBoolean() );

            var opportunities = new ConnectionOpportunityService( new RockContext() )
                .Queryable().AsNoTracking()
                .Where( o => o.IsActive || includeInactive )
                .OrderBy( o => o.ConnectionType.Name )
                .ThenBy( o => o.Name )
                .Select( o => new
                {
                    o.Guid,
                    o.Name,
                    ConnectionTypeName = o.ConnectionType.Name
                } )
                .ToList();

            if ( opportunities.Any() )
            {
                foreach ( var opportunity in opportunities )
                {
                    var listItem = new ListItem( opportunity.Name, opportunity.Guid.ToString().ToUpper() );
                    listItem.Attributes.Add( "OptionGroup", opportunity.ConnectionTypeName );
                    editControl.Items.Add( listItem );
                }

                return editControl;
            }

            return null;
        }