CSLA.NET 5.4.2
CSLA .NET is a software development framework that helps you build a reusable, maintainable object-oriented business layer for your app.
Csla.Rules.RuleContext Class Reference

Context information provided to a business rule when it is invoked. More...

Inheritance diagram for Csla.Rules.RuleContext:
Csla.Rules.IRuleContext

Public Member Functions

void ExecuteRule (IBusinessRuleBase innerRule)
 Executes the inner rule from the outer rules context. More...
 
 RuleContext (Action< IRuleContext > completeHandler, IBusinessRuleBase rule, object target, Dictionary< Csla.Core.IPropertyInfo, object > inputPropertyValues)
 Creates a RuleContext instance for testing. More...
 
IRuleContext GetChainedContext (IBusinessRuleBase rule)
 Gets a new RuleContext object for a chained rule. More...
 
void AddErrorResult (string description)
 Add a Error severity result to the Results list. More...
 
void AddErrorResult (string description, bool stopProcessing)
 Add a Error severity result to the Results list. More...
 
void AddErrorResult (Csla.Core.IPropertyInfo property, string description)
 Add a Error severity result to the Results list. More...
 
void AddWarningResult (string description)
 Add a Warning severity result to the Results list. More...
 
void AddWarningResult (string description, bool stopProcessing)
 Add a Warning severity result to the Results list. More...
 
void AddWarningResult (Csla.Core.IPropertyInfo property, string description)
 Add a Warning severity result to the Results list. More...
 
void AddInformationResult (string description)
 Add an Information severity result to the Results list. More...
 
void AddInformationResult (string description, bool stopProcessing)
 Add an Information severity result to the Results list. More...
 
void AddInformationResult (Csla.Core.IPropertyInfo property, string description)
 Add an Information severity result to the Results list. More...
 
void AddSuccessResult (bool stopProcessing)
 Add a Success severity result to the Results list. More...
 
void AddOutValue (object value)
 Add an outbound value to update the rule's primary property on the business object once the rule is complete. More...
 
void AddOutValue (Csla.Core.IPropertyInfo property, object value)
 Add an outbound value to update a property on the business object once the rule is complete. More...
 
void AddDirtyProperty (Csla.Core.IPropertyInfo property)
 Adds a property name as a dirty field (changed value). More...
 
void Complete ()
 Indicates that the rule processing is complete, so CSLA .NET will process the Results list. More...
 
GetInputValue< T > (PropertyInfo< T > propertyInfo)
 Gets the value. More...
 
GetInputValue< T > (IPropertyInfo propertyInfo)
 Gets the value with explicit cast More...
 
bool TryGetInputValue< T > (PropertyInfo< T > propertyInfo, ref T value)
 Tries to get the value. More...
 
bool TryGetInputValue< T > (IPropertyInfo propertyInfo, ref T value)
 Tries to get the value with explicit cast. More...
 

Properties

IBusinessRuleBase Rule [getset]
 Gets the rule object. More...
 
object Target [getset]
 Gets a reference to the target business object. More...
 
Dictionary< Csla.Core.IPropertyInfo, object > InputPropertyValues [getset]
 Gets a dictionary containing copies of property values from the target business object. More...
 
List< IPropertyInfoDirtyProperties [get]
 Gets a list of dirty properties (value was updated). More...
 
Dictionary< Csla.Core.IPropertyInfo, object > OutputPropertyValues [get]
 Gets a dictionary containing copies of property values that should be updated in the target object. More...
 
List< RuleResultResults [get]
 Gets a list of RuleResult objects containing the results of the rule. More...
 
string OriginPropertyName [getset]
 Gets or sets the name of the origin property. More...
 
RuleContextModes ExecuteContext [getset]
 Gets the execution context. More...
 
bool IsCascadeContext [get]
 Gets a value indicating whether this instance is cascade context as a result of AffectedProperties. More...
 
bool IsPropertyChangedContext [get]
 Gets a value indicating whether this instance is property changed context. More...
 
bool IsCheckRulesContext [get]
 Gets a value indicating whether this instance is check rules context. More...
 
bool IsCheckObjectRulesContext [get]
 Gets a value indicating whether this instance is check object rules context. More...
 
- Properties inherited from Csla.Rules.IRuleContext
IBusinessRuleBase Rule [get]
 Gets the rule object. More...
 
object Target [get]
 Gets a reference to the target business object. More...
 
Dictionary< Csla.Core.IPropertyInfo, object > InputPropertyValues [get]
 Gets a dictionary containing copies of property values from the target business object. More...
 
List< IPropertyInfoDirtyProperties [get]
 Gets a list of dirty properties (value was updated). More...
 
Dictionary< Csla.Core.IPropertyInfo, object > OutputPropertyValues [get]
 Gets a dictionary containing copies of property values that should be updated in the target object. More...
 
List< RuleResultResults [get]
 Gets a list of RuleResult objects containing the results of the rule. More...
 
string OriginPropertyName [get]
 Gets or sets the name of the origin property. More...
 
bool IsCascadeContext [get]
 Gets a value indicating whether this instance is cascade context as a result of AffectedProperties. More...
 
bool IsPropertyChangedContext [get]
 Gets a value indicating whether this instance is property changed context. More...
 
bool IsCheckRulesContext [get]
 Gets a value indicating whether this instance is check rules context. More...
 
bool IsCheckObjectRulesContext [get]
 Gets a value indicating whether this instance is check object rules context. More...
 
RuleContextModes ExecuteContext [get]
 Gets the execution context. More...
 

Detailed Description

Context information provided to a business rule when it is invoked.

Definition at line 51 of file RuleContext.cs.

Constructor & Destructor Documentation

◆ RuleContext()

Csla.Rules.RuleContext.RuleContext ( Action< IRuleContext completeHandler,
IBusinessRuleBase  rule,
object  target,
Dictionary< Csla.Core.IPropertyInfo, object >  inputPropertyValues 
)

Creates a RuleContext instance for testing.

Parameters
completeHandlerCallback for async rule.
ruleReference to the rule object.
targetTarget business object.
inputPropertyValuesInput property values used by the rule.

Definition at line 238 of file RuleContext.cs.

Member Function Documentation

◆ AddDirtyProperty()

void Csla.Rules.RuleContext.AddDirtyProperty ( Csla.Core.IPropertyInfo  property)

Adds a property name as a dirty field (changed value).

Parameters
propertyThe property.
Exceptions
System.ArgumentOutOfRangeException

Implements Csla.Rules.IRuleContext.

Definition at line 419 of file RuleContext.cs.

◆ AddErrorResult() [1/3]

void Csla.Rules.RuleContext.AddErrorResult ( Csla.Core.IPropertyInfo  property,
string  description 
)

Add a Error severity result to the Results list.

This method is only allowed on "object" level rules to allow an object level rule to set warning result on a field.

Parameters
propertyProperty to which the result applies.
descriptionHuman-readable description of why the rule failed.
Exceptions
System.ArgumentOutOfRangeExceptionWhen property is not defined in AffectedProperties list.


Implements Csla.Rules.IRuleContext.

Definition at line 303 of file RuleContext.cs.

◆ AddErrorResult() [2/3]

void Csla.Rules.RuleContext.AddErrorResult ( string  description)

Add a Error severity result to the Results list.

Parameters
descriptionHuman-readable description of why the rule failed.

Implements Csla.Rules.IRuleContext.

Definition at line 278 of file RuleContext.cs.

◆ AddErrorResult() [3/3]

void Csla.Rules.RuleContext.AddErrorResult ( string  description,
bool  stopProcessing 
)

Add a Error severity result to the Results list.

Parameters
descriptionHuman-readable description of why the rule failed.
stopProcessingTrue if no further rules should be processed for the current property.

Implements Csla.Rules.IRuleContext.

Definition at line 290 of file RuleContext.cs.

◆ AddInformationResult() [1/3]

void Csla.Rules.RuleContext.AddInformationResult ( Csla.Core.IPropertyInfo  property,
string  description 
)

Add an Information severity result to the Results list.

This method is only allowed on "object" level rules to allow an object level rule to set warning result on a field.

Parameters
propertyProperty to which the result applies.
descriptionHuman-readable description of why the rule failed.
Exceptions
System.ArgumentOutOfRangeExceptionWhen property is not defined in AffectedProperties list.


Implements Csla.Rules.IRuleContext.

Definition at line 374 of file RuleContext.cs.

◆ AddInformationResult() [2/3]

void Csla.Rules.RuleContext.AddInformationResult ( string  description)

Add an Information severity result to the Results list.

Parameters
descriptionHuman-readable description of why the rule failed.

Implements Csla.Rules.IRuleContext.

Definition at line 352 of file RuleContext.cs.

◆ AddInformationResult() [3/3]

void Csla.Rules.RuleContext.AddInformationResult ( string  description,
bool  stopProcessing 
)

Add an Information severity result to the Results list.

Parameters
descriptionHuman-readable description of why the rule failed.
stopProcessingTrue if no further rules should be processed for the current property.

Implements Csla.Rules.IRuleContext.

Definition at line 362 of file RuleContext.cs.

◆ AddOutValue() [1/2]

void Csla.Rules.RuleContext.AddOutValue ( Csla.Core.IPropertyInfo  property,
object  value 
)

Add an outbound value to update a property on the business object once the rule is complete.

Parameters
propertyProperty to update.
valueNew property value.
Exceptions
System.ArgumentOutOfRangeExceptionWhen property is not defined in AffectedProperties list.


Implements Csla.Rules.IRuleContext.

Definition at line 407 of file RuleContext.cs.

◆ AddOutValue() [2/2]

void Csla.Rules.RuleContext.AddOutValue ( object  value)

Add an outbound value to update the rule's primary property on the business object once the rule is complete.

Parameters
valueNew property value.

Implements Csla.Rules.IRuleContext.

Definition at line 395 of file RuleContext.cs.

◆ AddSuccessResult()

void Csla.Rules.RuleContext.AddSuccessResult ( bool  stopProcessing)

Add a Success severity result to the Results list.

Parameters
stopProcessingTrue if no further rules should be processed for the current property.

Implements Csla.Rules.IRuleContext.

Definition at line 385 of file RuleContext.cs.

◆ AddWarningResult() [1/3]

void Csla.Rules.RuleContext.AddWarningResult ( Csla.Core.IPropertyInfo  property,
string  description 
)

Add a Warning severity result to the Results list.

This method is only allowed on "object" level rules to allow an object level rule to set warning result on a field.

Parameters
propertyProperty to which the result applies.
descriptionHuman-readable description of why the rule failed.
Exceptions
System.ArgumentOutOfRangeExceptionWhen property is not defined in AffectedProperties list.


Implements Csla.Rules.IRuleContext.

Definition at line 340 of file RuleContext.cs.

◆ AddWarningResult() [2/3]

void Csla.Rules.RuleContext.AddWarningResult ( string  description)

Add a Warning severity result to the Results list.

Parameters
descriptionHuman-readable description of why the rule failed.

Implements Csla.Rules.IRuleContext.

Definition at line 315 of file RuleContext.cs.

◆ AddWarningResult() [3/3]

void Csla.Rules.RuleContext.AddWarningResult ( string  description,
bool  stopProcessing 
)

Add a Warning severity result to the Results list.

Parameters
descriptionHuman-readable description of why the rule failed.
stopProcessingTrue if no further rules should be processed for the current property.

Implements Csla.Rules.IRuleContext.

Definition at line 327 of file RuleContext.cs.

◆ Complete()

void Csla.Rules.RuleContext.Complete ( )

Indicates that the rule processing is complete, so CSLA .NET will process the Results list.

This method must be invoked on the UI thread.

Implements Csla.Rules.IRuleContext.

Definition at line 431 of file RuleContext.cs.

◆ ExecuteRule()

void Csla.Rules.RuleContext.ExecuteRule ( IBusinessRuleBase  innerRule)

Executes the inner rule from the outer rules context.

Creates a chained context and if CanRunRule will execute the inner rule.

Parameters
innerRuleThe inner rule.

Implements Csla.Rules.IRuleContext.

Definition at line 149 of file RuleContext.cs.

◆ GetChainedContext()

IRuleContext Csla.Rules.RuleContext.GetChainedContext ( IBusinessRuleBase  rule)

Gets a new RuleContext object for a chained rule.

Parameters
ruleChained rule that will use this new context.

The properties from the existing RuleContext will be used to create the new context, with the exception of the Rule property which is set using the supplied IBusinessRule value.

Implements Csla.Rules.IRuleContext.

Definition at line 260 of file RuleContext.cs.

◆ GetInputValue< T >() [1/2]

T Csla.Rules.RuleContext.GetInputValue< T > ( IPropertyInfo  propertyInfo)

Gets the value with explicit cast

Template Parameters
T
Parameters
propertyInfoThe generic property info.
Returns

Implements Csla.Rules.IRuleContext.

Definition at line 455 of file RuleContext.cs.

◆ GetInputValue< T >() [2/2]

T Csla.Rules.RuleContext.GetInputValue< T > ( PropertyInfo< T >  propertyInfo)

Gets the value.

Template Parameters
T
Parameters
propertyInfoThe property info.
Returns

Implements Csla.Rules.IRuleContext.

Definition at line 444 of file RuleContext.cs.

◆ TryGetInputValue< T >() [1/2]

bool Csla.Rules.RuleContext.TryGetInputValue< T > ( IPropertyInfo  propertyInfo,
ref T  value 
)

Tries to get the value with explicit cast.

Use this method on LazyLoaded properties to test if value has been provided or not.

Template Parameters
T
Parameters
propertyInfoThe generic property info.
valueThe value.
Returns
true if value exists else false

Implements Csla.Rules.IRuleContext.

Definition at line 486 of file RuleContext.cs.

◆ TryGetInputValue< T >() [2/2]

bool Csla.Rules.RuleContext.TryGetInputValue< T > ( PropertyInfo< T >  propertyInfo,
ref T  value 
)

Tries to get the value.

Use this method on LazyLoaded properties to test if value has been provided or not.

Template Parameters
T
Parameters
propertyInfoThe generic property info.
valueThe value.
Returns
true if value exists else false

Implements Csla.Rules.IRuleContext.

Definition at line 467 of file RuleContext.cs.

Property Documentation

◆ DirtyProperties

List<IPropertyInfo> Csla.Rules.RuleContext.DirtyProperties
get

Gets a list of dirty properties (value was updated).

The dirty properties.

Definition at line 78 of file RuleContext.cs.

◆ ExecuteContext

RuleContextModes Csla.Rules.RuleContext.ExecuteContext
getset

Gets the execution context.

The execution context.

Definition at line 141 of file RuleContext.cs.

◆ InputPropertyValues

Dictionary<Csla.Core.IPropertyInfo, object> Csla.Rules.RuleContext.InputPropertyValues
getset

Gets a dictionary containing copies of property values from the target business object.

Definition at line 68 of file RuleContext.cs.

◆ IsCascadeContext

bool Csla.Rules.RuleContext.IsCascadeContext
get

Gets a value indicating whether this instance is cascade context as a result of AffectedProperties.

true if this instance is cascade context; otherwise, false.

Definition at line 170 of file RuleContext.cs.

◆ IsCheckObjectRulesContext

bool Csla.Rules.RuleContext.IsCheckObjectRulesContext
get

Gets a value indicating whether this instance is check object rules context.

true if this instance is check object rules context; otherwise, false.

Definition at line 206 of file RuleContext.cs.

◆ IsCheckRulesContext

bool Csla.Rules.RuleContext.IsCheckRulesContext
get

Gets a value indicating whether this instance is check rules context.

true if this instance is check rules context; otherwise, false.

Definition at line 194 of file RuleContext.cs.

◆ IsPropertyChangedContext

bool Csla.Rules.RuleContext.IsPropertyChangedContext
get

Gets a value indicating whether this instance is property changed context.

true if this instance is property changed context; otherwise, false.

Definition at line 182 of file RuleContext.cs.

◆ OriginPropertyName

string Csla.Rules.RuleContext.OriginPropertyName
getset

Gets or sets the name of the origin property.

The name of the origin property.

Definition at line 135 of file RuleContext.cs.

◆ OutputPropertyValues

Dictionary<Csla.Core.IPropertyInfo, object> Csla.Rules.RuleContext.OutputPropertyValues
get

Gets a dictionary containing copies of property values that should be updated in the target object.

Definition at line 94 of file RuleContext.cs.

◆ Results

List<RuleResult> Csla.Rules.RuleContext.Results
get

Gets a list of RuleResult objects containing the results of the rule.

Definition at line 114 of file RuleContext.cs.

◆ Rule

IBusinessRuleBase Csla.Rules.RuleContext.Rule
getset

Gets the rule object.

Definition at line 57 of file RuleContext.cs.

◆ Target

object Csla.Rules.RuleContext.Target
getset

Gets a reference to the target business object.

Definition at line 62 of file RuleContext.cs.