本文整理汇总了C#中Rock.Model.GroupService.Any方法的典型用法代码示例。如果您正苦于以下问题:C# GroupService.Any方法的具体用法?C# GroupService.Any怎么用?C# GroupService.Any使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.GroupService
的用法示例。
在下文中一共展示了GroupService.Any方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EditControl
/// <summary>
/// Creates the control(s) neccessary 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 };
var roles = new GroupService( new RockContext() ).Queryable().Where(g => g.IsSecurityRole).OrderBy( t => t.Name );
if ( roles.Any() )
{
foreach ( var role in roles )
{
editControl.Items.Add( new ListItem( role.Name, role.Guid.ToString() ) );
}
return editControl;
}
return null;
}
示例2: CreateChildControls
/// <summary>
/// Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
/// </summary>
protected override void CreateChildControls()
{
Controls.Clear();
_hfExpanded = new HiddenField();
Controls.Add( _hfExpanded );
_hfExpanded.ID = this.ID + "_hfExpanded";
_hfExpanded.Value = "False";
_hfActivityGuid = new HiddenField();
Controls.Add( _hfActivityGuid );
_hfActivityGuid.ID = this.ID + "_hfActivityTypeGuid";
_lblActivityTypeName = new Label();
Controls.Add( _lblActivityTypeName );
_lblActivityTypeName.ClientIDMode = ClientIDMode.Static;
_lblActivityTypeName.ID = this.ID + "_lblActivityTypeName";
_lblActivityTypeDescription = new Label();
Controls.Add( _lblActivityTypeDescription );
_lblActivityTypeDescription.ClientIDMode = ClientIDMode.Static;
_lblActivityTypeDescription.ID = this.ID + "_lblActivityTypeDescription";
_lblStatus = new Label();
Controls.Add( _lblStatus );
_lblStatus.ClientIDMode = ClientIDMode.Static;
_lblStatus.ID = this.ID + "_lblInactive";
_lblStatus.CssClass = "label label-important pull-right";
_lbDeleteActivityType = new LinkButton();
Controls.Add( _lbDeleteActivityType );
_lbDeleteActivityType.CausesValidation = false;
_lbDeleteActivityType.ID = this.ID + "_lbDeleteActivityType";
_lbDeleteActivityType.CssClass = "btn btn-xs btn-danger js-activity-delete";
_lbDeleteActivityType.Click += lbDeleteActivityType_Click;
_lbDeleteActivityType.Controls.Add( new LiteralControl { Text = "<i class='fa fa-times'></i>" } );
_cbActivityIsComplete = new RockCheckBox { Text = "Complete" };
Controls.Add( _cbActivityIsComplete );
_cbActivityIsComplete.ID = this.ID + "_cbActivityTypeIsActive";
_ppAssignedToPerson = new PersonPicker();
_ppAssignedToPerson.ID = this.ID + "_ppAssignedToPerson";
Controls.Add( _ppAssignedToPerson );
_ppAssignedToPerson.Label = "Assign to Person";
_gpAssignedToGroup = new GroupPicker();
_gpAssignedToGroup.ID = this.ID + "_gpAssignedToGroup";
Controls.Add( _gpAssignedToGroup );
_gpAssignedToGroup.Label = "Assign to Group";
_ddlAssignedToRole = new RockDropDownList();
Controls.Add( _ddlAssignedToRole );
_ddlAssignedToRole.ID = this.ID + "_ddlAssignedToRole";
_ddlAssignedToRole.Label = "Assign to Security Role";
_lState = new Literal();
Controls.Add( _lState );
_lState.ID = this.ID + "_lState";
_ddlAssignedToRole.Items.Add( new ListItem( string.Empty, "0" ) );
var roles = new GroupService( new RockContext() ).Queryable().Where( g => g.IsSecurityRole ).OrderBy( t => t.Name );
if ( roles.Any() )
{
foreach ( var role in roles )
{
_ddlAssignedToRole.Items.Add( new ListItem( role.Name, role.Id.ToString() ) );
}
}
_phAttributes = new PlaceHolder();
Controls.Add( _phAttributes );
_phAttributes.ID = this.ID + "_phAttributes";
}
示例3: GetMetricValues
/// <summary>
/// Gets the metric values.
/// </summary>
/// <param name="isPrimary">if set to <c>true</c> [is primary].</param>
/// <returns></returns>
protected List<MetricValue> GetMetricValues( bool isPrimary )
{
var rockContext = new RockContext();
var metricService = new MetricService( rockContext );
List<Guid> sourceGuids = null;
var preKey = isPrimary ? string.Empty : "Comparison";
IQueryable<MetricValue> metricValues = null;
var attributeValue = GetAttributeValue( preKey + "MetricSource" );
if ( string.IsNullOrWhiteSpace( attributeValue ) )
{
attributeValue = string.Empty;
}
var pairs = MetricCategoriesFieldAttribute.GetValueAsGuidPairs( attributeValue );
sourceGuids = pairs.Select( p => p.MetricGuid ).ToList();
if ( sourceGuids.Any() )
{
metricValues = metricService.GetByGuids( sourceGuids ).SelectMany( m => m.MetricValues );
}
else
{
nbMetricWarning.Visible = true;
pnlMetricDisplay.Visible = false;
return null;
}
if ( GetAttributeValue( preKey + "RespectCampusContext" ).AsBoolean() )
{
var campusContext = RockPage.GetCurrentContext( EntityTypeCache.Read( typeof( Campus ) ) );
if ( campusContext != null )
{
metricValues = FilterMetricValuesByPartition( metricValues, "Campus", campusContext.Id );
}
}
if ( GetAttributeValue( preKey + "RespectGroupContext" ).AsBoolean() )
{
var groupTypeContext = RockPage.GetCurrentContext( EntityTypeCache.Read( typeof( GroupType ) ) );
var groupContext = RockPage.GetCurrentContext( EntityTypeCache.Read( typeof( Group ) ) );
if ( groupContext != null )
{
metricValues = FilterMetricValuesByPartition( metricValues, "Group", groupContext.Id );
}
else if ( groupTypeContext != null )
{
var groupTypeIds = new GroupTypeService( rockContext ).GetAllAssociatedDescendents( groupTypeContext.Id ).Select( gt => gt.Id );
var groupIds = new GroupService( rockContext ).Queryable().Where( g => groupTypeIds.Contains( g.GroupTypeId ) ).Select( g => g.Id );
metricValues = metricValues.Where( a => a.MetricValuePartitions.Any( mvp => mvp.MetricPartition.Label == "Group" && groupIds.Any( i => i == mvp.EntityId ) ) );
}
}
if ( GetAttributeValue( preKey + "RespectDateContext" ).AsBoolean() )
{
var dateRangeString = RockPage.GetUserPreference( ContextPreferenceName );
if ( !string.IsNullOrWhiteSpace( dateRangeString ) )
{
var dateRange = SlidingDateRangePicker.CalculateDateRangeFromDelimitedValues( dateRangeString );
metricValues = metricValues.Where( v => v.MetricValueDateTime >= dateRange.Start && v.MetricValueDateTime <= dateRange.End );
}
}
if ( GetAttributeValue( preKey + "RespectScheduleContext" ).AsBoolean() )
{
var scheduleContext = RockPage.GetCurrentContext( EntityTypeCache.Read( typeof( Schedule ) ) );
if ( scheduleContext != null )
{
metricValues = FilterMetricValuesByPartition( metricValues, "Schedule", scheduleContext.Id );
}
}
return metricValues.ToList();
}
示例4: GetExpression
/// <summary>
/// Gets the expression.
/// </summary>
/// <param name="entityType">Type of the entity.</param>
/// <param name="serviceInstance">The service instance.</param>
/// <param name="parameterExpression">The parameter expression.</param>
/// <param name="selection">The selection.</param>
/// <returns></returns>
public override Expression GetExpression( Type entityType, IService serviceInstance, ParameterExpression parameterExpression, string selection )
{
Guid groupGuid = selection.AsGuid();
var geoQry = new GroupService( (RockContext)serviceInstance.Context )
.GetGeofencedFamilies( groupGuid )
.SelectMany( g => g.Members );
var qry = new PersonService( (RockContext)serviceInstance.Context ).Queryable()
.Where( p => geoQry.Any( xx => xx.PersonId == p.Id ) );
Expression extractedFilterExpression = FilterExpressionExtractor.Extract<Rock.Model.Person>( qry, parameterExpression, "p" );
return extractedFilterExpression;
}
示例5: GetExpression
/// <summary>
/// Gets the expression.
/// </summary>
/// <param name="entityType">Type of the entity.</param>
/// <param name="serviceInstance">The service instance.</param>
/// <param name="parameterExpression">The parameter expression.</param>
/// <param name="selection">The selection.</param>
/// <returns></returns>
public override Expression GetExpression( Type entityType, IService serviceInstance, ParameterExpression parameterExpression, string selection )
{
var values = selection.Split( '|' );
ComparisonType comparisonType = values[0].ConvertToEnum<ComparisonType>( ComparisonType.EqualTo );
string postalCode = values[1];
var familyGroupTypeGuid = Rock.SystemGuid.GroupType.GROUPTYPE_FAMILY.AsGuid();
var groupLocationQry = new GroupLocationService( ( RockContext ) serviceInstance.Context ).Queryable();
switch ( comparisonType )
{
case ComparisonType.EqualTo:
groupLocationQry = groupLocationQry.Where( gl => gl.Location.PostalCode == postalCode );
break;
case ComparisonType.NotEqualTo:
groupLocationQry = groupLocationQry.Where( gl => gl.Location.PostalCode != postalCode );
break;
case ComparisonType.StartsWith:
groupLocationQry = groupLocationQry.Where( gl => gl.Location.PostalCode.StartsWith( postalCode ) );
break;
case ComparisonType.Contains:
groupLocationQry = groupLocationQry.Where( gl => gl.Location.PostalCode.Contains( postalCode ) );
break;
case ComparisonType.DoesNotContain:
groupLocationQry = groupLocationQry.Where( gl => !gl.Location.PostalCode.Contains( postalCode ) );
break;
case ComparisonType.IsBlank:
groupLocationQry = groupLocationQry
.Where( gl => gl.Location.PostalCode == null || gl.Location.PostalCode == string.Empty );
break;
case ComparisonType.IsNotBlank:
groupLocationQry = groupLocationQry
.Where( gl => gl.Location.PostalCode != null && gl.Location.PostalCode != string.Empty );
break;
case ComparisonType.EndsWith:
groupLocationQry = groupLocationQry.Where( gl => gl.Location.PostalCode.EndsWith( postalCode ) );
break;
default:
break;
}
IQueryable<Rock.Model.Person> qry;
var groupMemberQry = groupLocationQry.Select( gl => gl.Group )
.Where( g => g.GroupType.Guid == familyGroupTypeGuid )
.SelectMany( g => g.Members );
// Families which do not have locations need to be added separately
if ( comparisonType == ComparisonType.IsBlank || comparisonType == ComparisonType.DoesNotContain || comparisonType == ComparisonType.NotEqualTo )
{
var noLocationGroupMembersQry = new GroupService( ( RockContext ) serviceInstance.Context ).Queryable()
.Where( g => g.GroupType.Guid == familyGroupTypeGuid && !g.GroupLocations.Any() )
.SelectMany( g => g.Members );
qry = new PersonService( ( RockContext ) serviceInstance.Context ).Queryable()
.Where( p => groupMemberQry.Any( xx => xx.PersonId == p.Id ) || noLocationGroupMembersQry.Any( xx => xx.PersonId == p.Id ) );
}
else
{
qry = new PersonService( ( RockContext ) serviceInstance.Context ).Queryable()
.Where( p => groupMemberQry.Any( xx => xx.PersonId == p.Id ) );
}
Expression extractedFilterExpression = FilterExpressionExtractor.Extract<Rock.Model.Person>( qry, parameterExpression, "p" );
return extractedFilterExpression;
}