/// <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); }
/// <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); }
/// <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); }
/// <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; }