/// <summary> /// Loads the group roles. /// </summary> /// <param name="groupTypeId">The group type unique identifier.</param> private void LoadGroupRoles(int?groupTypeId) { int?currentGroupRoleId = this.GroupRoleId; _ddlGroupRole.SelectedValue = null; _ddlGroupRole.Items.Clear(); if (groupTypeId.HasValue) { if (!Required) { _ddlGroupRole.Items.Add(new ListItem(string.Empty, Rock.Constants.None.IdValue)); } List <int> excludeGroupRoles = ExcludeGroupRoles; var groupRoleService = new Rock.Model.GroupTypeRoleService(new RockContext()); var groupRoles = groupRoleService.Queryable() .Where(r => r.GroupTypeId == groupTypeId.Value && !excludeGroupRoles.Contains(r.Id)) .OrderBy(a => a.Name) .ToList(); foreach (var r in groupRoles) { var roleItem = new ListItem(r.Name, r.Id.ToString().ToUpper()); roleItem.Selected = r.Id == currentGroupRoleId; _ddlGroupRole.Items.Add(roleItem); } } }
/// <summary> /// Returns the field's current value(s) /// </summary> /// <param name="parentControl">The parent control.</param> /// <param name="value">Information about the value</param> /// <param name="configurationValues">The configuration values.</param> /// <param name="condensed">Flag indicating if the value should be condensed (i.e. for use in a grid column)</param> /// <returns></returns> public override string FormatValue(Control parentControl, string value, Dictionary <string, ConfigurationValue> configurationValues, bool condensed) { string formattedValue = string.Empty; Guid guid = Guid.Empty; if (Guid.TryParse(value, out guid)) { var groupRole = new Rock.Model.GroupTypeRoleService().Get(guid); if (groupRole != null) { formattedValue = groupRole.Name; } } return(base.FormatValue(parentControl, formattedValue, null, condensed)); }
/// <summary> /// Sets the value. /// </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) { Guid guid = Guid.Empty; if (Guid.TryParse(value, out guid)) { GroupRolePicker groupRolePicker = control as GroupRolePicker; if (groupRolePicker != null) { var groupRole = new Rock.Model.GroupTypeRoleService().Get(guid); if (groupRole != null) { groupRolePicker.GroupRoleId = groupRole.Id; } } } }
/// <summary> /// Reads new values entered by the user for the field /// </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) { GroupRolePicker groupRolePicker = control as GroupRolePicker; if (groupRolePicker != null) { if (groupRolePicker.GroupRoleId.HasValue) { var groupRole = new Rock.Model.GroupTypeRoleService().Get(groupRolePicker.GroupRoleId.Value); if (groupRole != null) { return(groupRole.Guid.ToString()); } } } return(null); }
/// <summary> /// Loads the groups. /// </summary> /// <param name="groupTypeId">The group type identifier.</param> private void LoadGroupsAndRoles(int?groupTypeId) { int?currentGroupId = this.GroupId; int?currentGroupRoleId = this.GroupRoleId; _ddlGroup.SelectedValue = null; _ddlGroup.Items.Clear(); _ddlGroupRole.SelectedValue = null; _ddlGroupRole.Items.Clear(); if (groupTypeId.HasValue) { _ddlGroup.Items.Add(new ListItem()); var rockContext = new RockContext(); var groupService = new Rock.Model.GroupService(rockContext); var groups = groupService.Queryable().Where(r => r.GroupTypeId == groupTypeId.Value).OrderBy(a => a.Name).ToList(); foreach (var r in groups) { var item = new ListItem(r.Name, r.Id.ToString().ToUpper()); item.Selected = r.Id == currentGroupId; _ddlGroup.Items.Add(item); } var groupTypeRoleService = new Rock.Model.GroupTypeRoleService(rockContext); var groupRoles = groupTypeRoleService.Queryable().Where(r => r.GroupTypeId == groupTypeId.Value).OrderBy(a => a.Order).ThenBy(a => a.Name).ToList(); // add a blank option as first item _ddlGroupRole.Items.Add(new ListItem()); foreach (var r in groupRoles) { var item = new ListItem(r.Name, r.Id.ToString().ToUpper()); item.Selected = r.Id == currentGroupRoleId; _ddlGroupRole.Items.Add(item); } } }
/// <summary> /// Loads the group roles. /// </summary> /// <param name="groupTypeId">The group type unique identifier.</param> private void LoadGroupRoles( int? groupTypeId ) { int? currentGroupRoleId = this.GroupRoleId; _ddlGroupRole.SelectedValue = null; _ddlGroupRole.Items.Clear(); if ( groupTypeId.HasValue ) { if ( !Required ) { _ddlGroupRole.Items.Add( new ListItem( string.Empty, Rock.Constants.None.IdValue ) ); } List<int> excludeGroupRoles = ExcludeGroupRoles; var groupRoleService = new Rock.Model.GroupTypeRoleService( new RockContext() ); var groupRoles = groupRoleService.Queryable() .Where( r => r.GroupTypeId == groupTypeId.Value && !excludeGroupRoles.Contains(r.Id)) .OrderBy( a => a.Name ) .ToList(); foreach ( var r in groupRoles ) { var roleItem = new ListItem( r.Name, r.Id.ToString().ToUpper() ); roleItem.Selected = r.Id == currentGroupRoleId; _ddlGroupRole.Items.Add( roleItem ); } } }
/// <summary> /// Loads the groups. /// </summary> /// <param name="groupTypeId">The group type identifier.</param> private void LoadGroupsAndRoles( int? groupTypeId ) { int? currentGroupId = this.GroupId; int? currentGroupRoleId = this.GroupRoleId; _ddlGroup.SelectedValue = null; _ddlGroup.Items.Clear(); _ddlGroupRole.SelectedValue = null; _ddlGroupRole.Items.Clear(); if ( groupTypeId.HasValue ) { _ddlGroup.Items.Add( new ListItem() ); var rockContext = new RockContext(); var groupService = new Rock.Model.GroupService( rockContext ); var groups = groupService.Queryable().Where( r => r.GroupTypeId == groupTypeId.Value ).OrderBy( a => a.Name ).ToList(); foreach ( var r in groups ) { var item = new ListItem( r.Name, r.Id.ToString().ToUpper() ); item.Selected = r.Id == currentGroupId; _ddlGroup.Items.Add( item ); } var groupTypeRoleService = new Rock.Model.GroupTypeRoleService( rockContext ); var groupRoles = groupTypeRoleService.Queryable().Where( r => r.GroupTypeId == groupTypeId.Value ).OrderBy( a => a.Order ).ThenBy( a => a.Name ).ToList(); // add a blank option as first item _ddlGroupRole.Items.Add( new ListItem() ); foreach ( var r in groupRoles ) { var item = new ListItem( r.Name, r.Id.ToString().ToUpper() ); item.Selected = r.Id == currentGroupRoleId; _ddlGroupRole.Items.Add( item ); } } }