本文整理汇总了C#中Rock.Model.LocationService.GetByDevice方法的典型用法代码示例。如果您正苦于以下问题:C# LocationService.GetByDevice方法的具体用法?C# LocationService.GetByDevice怎么用?C# LocationService.GetByDevice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.LocationService
的用法示例。
在下文中一共展示了LocationService.GetByDevice方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetDeviceGroupTypes
/// <summary>
/// Gets the device group types.
/// </summary>
/// <param name="deviceId">The device identifier.</param>
/// <returns></returns>
private List<GroupType> GetDeviceGroupTypes( int deviceId )
{
var groupTypes = new Dictionary<int, GroupType>();
var locationService = new LocationService( new RockContext() );
// Get all locations (and their children) associated with device
var locationIds = locationService
.GetByDevice(deviceId, true)
.Select( l => l.Id)
.ToList();
// Requery using EF
foreach ( var groupType in locationService.Queryable()
.Where( l => locationIds.Contains( l.Id ) )
.SelectMany( l => l.GroupLocations )
.Select( gl => gl.Group.GroupType )
.ToList() )
{
if ( !groupTypes.ContainsKey( groupType.Id ) )
{
groupTypes.Add( groupType.Id, groupType );
}
}
return groupTypes.Select( g => g.Value ).ToList();
}
示例2: GetDeviceGroupTypes
/// <summary>
/// Gets the device group types.
/// </summary>
/// <param name="deviceId">The device identifier.</param>
/// <returns></returns>
private List<GroupType> GetDeviceGroupTypes( int deviceId, RockContext rockContext )
{
var groupTypes = new Dictionary<int, GroupType>();
var locationService = new LocationService( rockContext );
// Get all locations (and their children) associated with device
var locationIds = locationService
.GetByDevice( deviceId, true )
.Select( l => l.Id )
.ToList();
// Requery using EF
foreach ( var groupType in locationService
.Queryable().AsNoTracking()
.Where( l => locationIds.Contains( l.Id ) )
.SelectMany( l => l.GroupLocations )
.Where( gl => gl.Group.GroupType.TakesAttendance )
.Select( gl => gl.Group.GroupType )
.ToList() )
{
groupTypes.AddOrIgnore( groupType.Id, groupType );
}
return groupTypes
.Select( g => g.Value )
.OrderBy( g => g.Order )
.ToList();
}