本文整理汇总了C#中Rock.Model.AttributeValueService.GetByAttributeIdAndEntityId方法的典型用法代码示例。如果您正苦于以下问题:C# AttributeValueService.GetByAttributeIdAndEntityId方法的具体用法?C# AttributeValueService.GetByAttributeIdAndEntityId怎么用?C# AttributeValueService.GetByAttributeIdAndEntityId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.AttributeValueService
的用法示例。
在下文中一共展示了AttributeValueService.GetByAttributeIdAndEntityId方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: btnSubmit_OnClick
protected void btnSubmit_OnClick(object sender, EventArgs e)
{
pnlOpportunities.Visible = true;
pnlSignature.Visible = false;
pnlSuccess.Visible = true;
AttributeValueService attributeValueService = new AttributeValueService(rockContext);
PersonService personService = new PersonService(rockContext);
List<Guid> personGuidList = new List<Guid>();
personGuidList.Add(_targetPerson.Guid);
var p = attributeValueService.GetByAttributeIdAndEntityId(906, _targetPerson.Id);
var p2 = attributeValueService.GetByAttributeIdAndEntityId(1434, _targetPerson.Id);
var personFromService = personService.GetByGuids(personGuidList).FirstOrDefault();
DateTime dateToSave = DateTime.Now.AddYears(CurrentYearAdd);
p.Value = dateToSave.ToString();
if (p2.Value.IsNullOrWhiteSpace())
{
p2.Value = dateToSave.Year.ToString();
}
else
{
if (!p2.Value.Contains(dateToSave.Year.ToString()))
{
p2.Value = p2.Value + "," + dateToSave.Year.ToString();
}
}
personFromService.ConnectionStatusValue.Value = "Partner";
personFromService.ConnectionStatusValueId = 65;
rockContext.SaveChanges();
LoadOpportunities();
if (GetAttributeValue("SendConfirmationEmail") == "True")
{
SendEmail(personFromService.Email, CurrentDateTime.Year.ToString() + " Partnership Covenant", rockContext);
}
}
示例2: GetUserPreference
/// <summary>
/// Returns a <see cref="Rock.Model.Person"/> user preference value by preference setting's key.
/// </summary>
/// <param name="person">The <see cref="Rock.Model.Person"/> to retrieve the preference value for.</param>
/// <param name="key">A <see cref="System.String"/> representing the key name of the preference setting.</param>
/// <returns>A list of <see cref="System.String"/> containing the values associated with the user's preference setting.</returns>
public static List<string> GetUserPreference( Person person, string key )
{
int? PersonEntityTypeId = Rock.Web.Cache.EntityTypeCache.Read( Person.USER_VALUE_ENTITY ).Id;
var rockContext = new Rock.Data.RockContext();
var attributeService = new Model.AttributeService( rockContext );
var attribute = attributeService.Get( PersonEntityTypeId, string.Empty, string.Empty, key );
if (attribute != null)
{
var attributeValueService = new Model.AttributeValueService( rockContext );
var attributeValues = attributeValueService.GetByAttributeIdAndEntityId(attribute.Id, person.Id);
if (attributeValues != null && attributeValues.Count() > 0)
return attributeValues.Select( v => v.Value).ToList();
}
return null;
}
示例3: 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;
}
}
示例4: DeleteGroupAndMemberData
/// <summary>
/// Generic method to delete the members of a group and then the group.
/// </summary>
/// <param name="group">The group.</param>
/// <param name="rockContext">The rock context.</param>
/// <exception cref="System.InvalidOperationException">Unable to delete group: + group.Name</exception>
private void DeleteGroupAndMemberData( Group group, RockContext rockContext )
{
GroupService groupService = new GroupService( rockContext );
// delete addresses
GroupLocationService groupLocationService = new GroupLocationService( rockContext );
if ( group.GroupLocations.Count > 0 )
{
foreach ( var groupLocations in group.GroupLocations.ToList() )
{
group.GroupLocations.Remove( groupLocations );
groupLocationService.Delete( groupLocations );
}
}
// delete members
var groupMemberService = new GroupMemberService( rockContext );
var members = group.Members;
foreach ( var member in members.ToList() )
{
group.Members.Remove( member );
groupMemberService.Delete( member );
}
// delete attribute values
group.LoadAttributes( rockContext );
if ( group.AttributeValues != null )
{
var attributeValueService = new AttributeValueService( rockContext );
foreach ( var entry in group.AttributeValues )
{
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( entry.Value.AttributeId, group.Id );
if ( attributeValue != null )
{
attributeValueService.Delete( attributeValue );
}
}
}
// now delete the group
if ( groupService.Delete( group ) )
{
// ok
}
else
{
throw new InvalidOperationException( "Unable to delete group: " + group.Name );
}
}
示例5: GetUserPreference
/// <summary>
/// Returns a <see cref="Rock.Model.Person"/> user preference value by preference setting's key.
/// </summary>
/// <param name="person">The <see cref="Rock.Model.Person"/> to retrieve the preference value for.</param>
/// <param name="key">A <see cref="System.String"/> representing the key name of the preference setting.</param>
/// <returns>A list of <see cref="System.String"/> containing the values associated with the user's preference setting.</returns>
public static string GetUserPreference( Person person, string key )
{
int? PersonEntityTypeId = Rock.Web.Cache.EntityTypeCache.Read( Person.USER_VALUE_ENTITY ).Id;
using ( var rockContext = new Rock.Data.RockContext() )
{
var attributeService = new Model.AttributeService( rockContext );
var attribute = attributeService.Get( PersonEntityTypeId, string.Empty, string.Empty, key );
if ( attribute != null )
{
var attributeValueService = new Model.AttributeValueService( rockContext );
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( attribute.Id, person.Id );
if ( attributeValue != null )
{
return attributeValue.Value;
}
}
}
return null;
}
示例6: SaveUserPreference
/// <summary>
/// Saves a <see cref="Rock.Model.Person">Person's</see> user preference setting by key.
/// </summary>
/// <param name="person">The <see cref="Rock.Model.Person"/> who the preference value belongs to.</param>
/// <param name="key">A <see cref="System.String"/> representing the key (name) of the preference setting.</param>
/// <param name="value">The value.</param>
public static void SaveUserPreference( Person person, string key, string value )
{
int? PersonEntityTypeId = Rock.Web.Cache.EntityTypeCache.Read( Person.USER_VALUE_ENTITY ).Id;
using ( var rockContext = new RockContext() )
{
var attributeService = new Model.AttributeService( rockContext );
var attribute = attributeService.Get( PersonEntityTypeId, string.Empty, string.Empty, key );
if ( attribute == null )
{
var fieldTypeService = new Model.FieldTypeService( rockContext );
var fieldType = FieldTypeCache.Read( Rock.SystemGuid.FieldType.TEXT.AsGuid() );
attribute = new Model.Attribute();
attribute.IsSystem = false;
attribute.EntityTypeId = PersonEntityTypeId;
attribute.EntityTypeQualifierColumn = string.Empty;
attribute.EntityTypeQualifierValue = string.Empty;
attribute.Key = key;
attribute.Name = key;
attribute.IconCssClass = string.Empty;
attribute.DefaultValue = string.Empty;
attribute.IsMultiValue = false;
attribute.IsRequired = false;
attribute.Description = string.Empty;
attribute.FieldTypeId = fieldType.Id;
attribute.Order = 0;
attributeService.Add( attribute );
rockContext.SaveChanges();
}
var attributeValueService = new Model.AttributeValueService( rockContext );
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( attribute.Id, person.Id );
if ( string.IsNullOrWhiteSpace( value ) )
{
// Delete existing value if no existing value
if ( attributeValue != null )
{
attributeValueService.Delete( attributeValue );
}
}
else
{
if ( attributeValue == null )
{
attributeValue = new Model.AttributeValue();
attributeValue.AttributeId = attribute.Id;
attributeValue.EntityId = person.Id;
attributeValueService.Add( attributeValue );
}
attributeValue.Value = value;
}
rockContext.SaveChanges();
}
}
示例7: mdAttributeValue_SaveClick
/// <summary>
/// Handles the SaveClick event of the mdAttributeValue control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void mdAttributeValue_SaveClick( object sender, EventArgs e )
{
if ( _displayValueEdit )
{
int attributeId = 0;
if ( hfIdValues.Value != string.Empty && !int.TryParse( hfIdValues.Value, out attributeId ) )
{
attributeId = 0;
}
if ( attributeId != 0 && phEditControls.Controls.Count > 0 )
{
var attribute = Rock.Web.Cache.AttributeCache.Read( attributeId );
var rockContext = new RockContext();
AttributeValueService attributeValueService = new AttributeValueService( rockContext );
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( attributeId, _entityId );
if ( attributeValue == null )
{
attributeValue = new Rock.Model.AttributeValue();
attributeValue.AttributeId = attributeId;
attributeValue.EntityId = _entityId;
attributeValueService.Add( attributeValue );
}
var fieldType = Rock.Web.Cache.FieldTypeCache.Read( attribute.FieldType.Id );
attributeValue.Value = fieldType.Field.GetEditValue( attribute.GetControl( phEditControls.Controls[0] ), attribute.QualifierValues );
rockContext.SaveChanges();
Rock.Web.Cache.AttributeCache.Flush( attributeId );
if ( !_entityTypeId.HasValue && _entityQualifierColumn == string.Empty && _entityQualifierValue == string.Empty && ( !_entityId.HasValue || _entityId.Value == 0 ) )
{
Rock.Web.Cache.GlobalAttributesCache.Flush();
}
}
hfIdValues.Value = string.Empty;
HideDialog();
}
BindGrid();
}
示例8: rGrid_RowDataBound
/// <summary>
/// Handles the RowDataBound event of the rGrid control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="GridViewRowEventArgs" /> instance containing the event data.</param>
protected void rGrid_RowDataBound( object sender, GridViewRowEventArgs e )
{
if ( e.Row.RowType == DataControlRowType.DataRow )
{
int attributeId = (int)rGrid.DataKeys[e.Row.RowIndex].Value;
var attribute = Rock.Web.Cache.AttributeCache.Read( attributeId );
var fieldType = Rock.Web.Cache.FieldTypeCache.Read( attribute.FieldTypeId );
Literal lCategories = e.Row.FindControl( "lCategories" ) as Literal;
if ( lCategories != null )
{
lCategories.Text = attribute.Categories.Select( c => c.Name ).ToList().AsDelimited( ", " );
}
Literal lEntityQualifier = e.Row.FindControl( "lEntityQualifier" ) as Literal;
if ( lEntityQualifier != null )
{
if ( attribute.EntityTypeId.HasValue )
{
string entityTypeName = EntityTypeCache.Read( attribute.EntityTypeId.Value ).FriendlyName;
if ( !string.IsNullOrWhiteSpace( attribute.EntityTypeQualifierColumn ) )
{
lEntityQualifier.Text = string.Format( "{0} where [{1}] = '{2}'", entityTypeName, attribute.EntityTypeQualifierColumn, attribute.EntityTypeQualifierValue );
}
else
{
lEntityQualifier.Text = entityTypeName;
}
}
else
{
lEntityQualifier.Text = "Global Attribute";
}
}
if ( _displayValueEdit )
{
Literal lValue = e.Row.FindControl( "lValue" ) as Literal;
if ( lValue != null )
{
AttributeValueService attributeValueService = new AttributeValueService( new RockContext() );
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( attributeId, _entityId );
if ( attributeValue != null && !string.IsNullOrWhiteSpace( attributeValue.Value ) )
{
lValue.Text = fieldType.Field.FormatValueAsHtml( lValue, attributeValue.Value, attribute.QualifierValues, true );
}
else
{
lValue.Text = string.Format( "<span class='text-muted'>{0}</span>", fieldType.Field.FormatValueAsHtml( lValue, attribute.DefaultValue, attribute.QualifierValues, true ) );
}
}
}
else
{
Literal lDefaultValue = e.Row.FindControl( "lDefaultValue" ) as Literal;
if ( lDefaultValue != null )
{
lDefaultValue.Text = fieldType.Field.FormatValueAsHtml( lDefaultValue, attribute.DefaultValue, attribute.QualifierValues, true );
}
}
}
}
示例9: ShowEditValue
/// <summary>
/// Shows the edit value.
/// </summary>
/// <param name="attributeId">The attribute id.</param>
/// <param name="setValues">if set to <c>true</c> [set values].</param>
protected void ShowEditValue( int attributeId, bool setValues )
{
if ( _displayValueEdit )
{
var attribute = Rock.Web.Cache.AttributeCache.Read( attributeId );
hfIdValues.Value = attribute.Id.ToString();
lCaption.Text = attribute.Name;
AttributeValueService attributeValueService = new AttributeValueService();
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( attributeId, _entityId ).FirstOrDefault();
var fieldType = Rock.Web.Cache.FieldTypeCache.Read( attribute.FieldType.Id );
Control editControl = fieldType.Field.EditControl( attribute.QualifierValues );
editControl.ID = string.Format( "attribute_field_{0}", attribute.Id );
editControl.ClientIDMode = ClientIDMode.AutoID;
if ( setValues && attributeValue != null )
{
fieldType.Field.SetEditValue( editControl, attribute.QualifierValues, attributeValue.Value );
}
phEditControl.Controls.Clear();
phEditControl.Controls.Add( editControl );
modalDetails.Show();
}
}
示例10: rGrid_RowDataBound
/// <summary>
/// Handles the RowDataBound event of the rGrid control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="GridViewRowEventArgs" /> instance containing the event data.</param>
protected void rGrid_RowDataBound( object sender, GridViewRowEventArgs e )
{
if ( e.Row.RowType == DataControlRowType.DataRow )
{
int attributeId = (int)rGrid.DataKeys[e.Row.RowIndex].Value;
var attribute = Rock.Web.Cache.AttributeCache.Read( attributeId );
var fieldType = Rock.Web.Cache.FieldTypeCache.Read( attribute.FieldTypeId );
if ( _displayValueEdit )
{
Literal lValue = e.Row.FindControl( "lValue" ) as Literal;
if ( lValue != null )
{
AttributeValueService attributeValueService = new AttributeValueService();
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( attributeId, _entityId ).FirstOrDefault();
if ( attributeValue != null && !string.IsNullOrWhiteSpace( attributeValue.Value ) )
{
lValue.Text = fieldType.Field.FormatValue( lValue, attributeValue.Value, attribute.QualifierValues, true );
}
else
{
lValue.Text = string.Format( "<span class='muted'>{0}</span>", fieldType.Field.FormatValue( lValue, attribute.DefaultValue, attribute.QualifierValues, true ) );
}
}
}
else
{
Literal lDefaultValue = e.Row.FindControl( "lDefaultValue" ) as Literal;
if ( lDefaultValue != null )
{
lDefaultValue.Text = fieldType.Field.FormatValue( lDefaultValue, attribute.DefaultValue, attribute.QualifierValues, true );
}
}
}
}
示例11: modalDetails_SaveClick
/// <summary>
/// Handles the SaveClick event of the modalDetails control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
protected void modalDetails_SaveClick( object sender, EventArgs e )
{
if ( _displayValueEdit )
{
int attributeId = 0;
if ( hfIdValues.Value != string.Empty && !int.TryParse( hfIdValues.Value, out attributeId ) )
{
attributeId = 0;
}
if ( attributeId != 0 && phEditControl.Controls.Count > 0 )
{
var attribute = Rock.Web.Cache.AttributeCache.Read( attributeId );
AttributeValueService attributeValueService = new AttributeValueService();
var attributeValue = attributeValueService.GetByAttributeIdAndEntityId( attributeId, _entityId ).FirstOrDefault();
if ( attributeValue == null )
{
attributeValue = new Rock.Model.AttributeValue();
attributeValue.AttributeId = attributeId;
attributeValue.EntityId = _entityId;
attributeValueService.Add( attributeValue, CurrentPersonId );
}
var fieldType = Rock.Web.Cache.FieldTypeCache.Read( attribute.FieldType.Id );
attributeValue.Value = fieldType.Field.GetEditValue( phEditControl.Controls[0], attribute.QualifierValues );
attributeValueService.Save( attributeValue, CurrentPersonId );
Rock.Web.Cache.AttributeCache.Flush( attributeId );
if ( !_entityTypeId.HasValue && _entityQualifierColumn == string.Empty && _entityQualifierValue == string.Empty && !_entityId.HasValue )
{
Rock.Web.Cache.GlobalAttributesCache.Flush();
}
}
hfIdValues.Value = string.Empty;
modalDetails.Hide();
}
BindGrid();
}