本文整理汇总了C#中Rock.Model.AttributeService.GetGlobalAttributes方法的典型用法代码示例。如果您正苦于以下问题:C# AttributeService.GetGlobalAttributes方法的具体用法?C# AttributeService.GetGlobalAttributes怎么用?C# AttributeService.GetGlobalAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.AttributeService
的用法示例。
在下文中一共展示了AttributeService.GetGlobalAttributes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Read
/// <summary>
/// Returns Global Attributes from cache. If they are not already in cache, they
/// will be read and added to cache
/// </summary>
/// <returns></returns>
public static GlobalAttributesCache Read( RockContext rockContext = null )
{
string cacheKey = GlobalAttributesCache.CacheKey();
ObjectCache cache = MemoryCache.Default;
GlobalAttributesCache globalAttributes = cache[cacheKey] as GlobalAttributesCache;
if ( globalAttributes != null )
{
return globalAttributes;
}
else
{
globalAttributes = new GlobalAttributesCache();
globalAttributes.Attributes = new List<AttributeCache>();
globalAttributes.AttributeValues = new Dictionary<string, KeyValuePair<string, string>>();
rockContext = rockContext ?? new RockContext();
var attributeService = new Rock.Model.AttributeService( rockContext );
var attributeValueService = new Rock.Model.AttributeValueService( rockContext );
foreach ( Rock.Model.Attribute attribute in attributeService.GetGlobalAttributes() )
{
var attributeCache = AttributeCache.Read( attribute );
globalAttributes.Attributes.Add( attributeCache );
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( attribute.Id, null ).FirstOrDefault();
string value = ( attributeValue != null && !string.IsNullOrEmpty( attributeValue.Value ) ) ? attributeValue.Value : attributeCache.DefaultValue;
globalAttributes.AttributeValues.Add( attributeCache.Key, new KeyValuePair<string, string>( attributeCache.Name, value ) );
}
cache.Set( cacheKey, globalAttributes, new CacheItemPolicy() );
return globalAttributes;
}
}