本文整理汇总了C#中System.ComponentModel.Model.AddLogEntry方法的典型用法代码示例。如果您正苦于以下问题:C# Model.AddLogEntry方法的具体用法?C# Model.AddLogEntry怎么用?C# Model.AddLogEntry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.ComponentModel.Model
的用法示例。
在下文中一共展示了Model.AddLogEntry方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
/// <summary>
/// Executes the specified workflow.
/// </summary>
/// <param name="rockContext">The rock context.</param>
/// <param name="action">The workflow action.</param>
/// <param name="entity">The entity.</param>
/// <param name="errorMessages">The error messages.</param>
/// <returns></returns>
/// <exception cref="System.NotImplementedException"></exception>
public override bool Execute( RockContext rockContext, Model.WorkflowAction action, Object entity, out List<string> errorMessages )
{
var checkInState = GetCheckInState( entity, out errorMessages );
if ( checkInState == null )
{
return false;
}
var family = checkInState.CheckIn.CurrentFamily;
if ( family != null )
{
var remove = GetAttributeValue( action, "Remove" ).AsBoolean();
bool ageRequired = checkInState.CheckInType == null || checkInState.CheckInType.AgeRequired;
// get the admin-selected attribute key instead of using a hardcoded key
var ageRangeAttributeKey = string.Empty;
var ageRangeAttributeGuid = GetAttributeValue( action, "GroupAgeRangeAttribute" ).AsGuid();
if ( ageRangeAttributeGuid != Guid.Empty )
{
ageRangeAttributeKey = AttributeCache.Read( ageRangeAttributeGuid, rockContext ).Key;
}
// log a warning if the attribute is missing or invalid
if ( string.IsNullOrWhiteSpace( ageRangeAttributeKey ) )
{
action.AddLogEntry( string.Format( "The Group Age Range attribute is not selected or invalid for '{0}'.", action.ActionType.Name ) );
}
foreach ( var person in family.People )
{
var ageAsDouble = person.Person.AgePrecise;
decimal? age = null;
if ( !ageAsDouble.HasValue && !ageRequired )
{
continue;
}
if ( ageAsDouble.HasValue )
{
age = Convert.ToDecimal( ageAsDouble.Value );
}
foreach ( var groupType in person.GroupTypes.ToList() )
{
foreach ( var group in groupType.Groups.ToList() )
{
var ageRange = group.Group.GetAttributeValue( ageRangeAttributeKey ).ToStringSafe();
var ageRangePair = ageRange.Split( new char[] { ',' }, StringSplitOptions.None );
string minAgeValue = null;
string maxAgeValue = null;
if ( ageRangePair.Length == 2 )
{
minAgeValue = ageRangePair[0];
maxAgeValue = ageRangePair[1];
}
if ( minAgeValue != null )
{
decimal minAge = 0;
if ( decimal.TryParse( minAgeValue, out minAge ) )
{
decimal? personAgePrecise = null;
if ( age.HasValue )
{
int groupMinAgePrecision = minAge.GetDecimalPrecision();
personAgePrecise = age.Floor( groupMinAgePrecision );
}
if ( !age.HasValue || personAgePrecise < minAge )
{
if ( remove )
{
groupType.Groups.Remove( group );
}
else
{
group.ExcludedByFilter = true;
}
continue;
}
}
}
if ( maxAgeValue != null )
{
decimal maxAge = 0;
//.........这里部分代码省略.........
示例2: Execute
/// <summary>
/// Executes the specified workflow.
/// </summary>
/// <param name="rockContext">The rock context.</param>
/// <param name="action">The workflow action.</param>
/// <param name="entity">The entity.</param>
/// <param name="errorMessages">The error messages.</param>
/// <returns></returns>
/// <exception cref="System.NotImplementedException"></exception>
public override bool Execute( RockContext rockContext, Model.WorkflowAction action, Object entity, out List<string> errorMessages )
{
var checkInState = GetCheckInState( entity, out errorMessages );
if ( checkInState == null )
{
return false;
}
var family = checkInState.CheckIn.CurrentFamily;
if ( family != null )
{
var remove = GetAttributeValue( action, "Remove" ).AsBoolean();
bool removeSNGroups = GetAttributeValue( action, "RemoveSpecialNeedsGroups" ).AsBoolean( true );
bool removeNonSNGroups = GetAttributeValue( action, "RemoveNonSpecialNeedsGroups" ).AsBoolean();
// get the admin-selected attribute key instead of using a hardcoded key
var personSpecialNeedsKey = string.Empty;
var personSpecialNeedsGuid = GetAttributeValue( action, "PersonSpecialNeedsAttribute" ).AsGuid();
if ( personSpecialNeedsGuid != Guid.Empty )
{
personSpecialNeedsKey = AttributeCache.Read( personSpecialNeedsGuid, rockContext ).Key;
}
var groupSpecialNeedsKey = string.Empty;
var groupSpecialNeedsGuid = GetAttributeValue( action, "GroupSpecialNeedsAttribute" ).AsGuid();
if ( groupSpecialNeedsGuid != Guid.Empty )
{
groupSpecialNeedsKey = AttributeCache.Read( groupSpecialNeedsGuid, rockContext ).Key;
}
// log a warning if the attribute is missing or invalid
if ( string.IsNullOrWhiteSpace( personSpecialNeedsKey ) )
{
action.AddLogEntry( string.Format( "The Person Special Needs attribute is not selected or invalid for '{0}'.", action.ActionType.Name ) );
}
if ( string.IsNullOrWhiteSpace( groupSpecialNeedsKey ) )
{
action.AddLogEntry( string.Format( "The Group Special Needs attribute is not selected or invalid for '{0}'.", action.ActionType.Name ) );
}
foreach ( var person in family.People )
{
if ( person.Person.Attributes == null )
{
person.Person.LoadAttributes( rockContext );
}
bool isSNPerson = person.Person.GetAttributeValue( personSpecialNeedsKey ).AsBoolean();
foreach ( var groupType in person.GroupTypes.ToList() )
{
foreach ( var group in groupType.Groups.ToList() )
{
bool isSNGroup = group.Group.GetAttributeValue( groupSpecialNeedsKey ).AsBoolean();
// If the group is special needs but the person is not, then remove it.
if ( removeSNGroups && isSNGroup && !( isSNPerson ) )
{
if ( remove )
{
groupType.Groups.Remove( group );
}
else
{
group.ExcludedByFilter = true;
}
continue;
}
// or if the setting is enabled and the person is SN but the group is not.
if ( removeNonSNGroups && isSNPerson && !isSNGroup )
{
if ( remove )
{
groupType.Groups.Remove( group );
}
else
{
group.ExcludedByFilter = true;
}
}
}
}
}
}
return true;
}