PropertyStatement Class

Describes a logic statement in the form "IF <Condition> THEN <Result>," where the result is a scalar value. This class cannot be inherited.

Namespace: Microsoft.SqlServer.NotificationServices.Rules
Assembly: Microsoft.SqlServer.NotificationServices.Rules (in microsoft.sqlserver.notificationservices.rules.dll)

Syntax

'Declaration
Public Class PropertyStatement
    Inherits LogicStatement
public class PropertyStatement : LogicStatement
public ref class PropertyStatement : public LogicStatement
public class PropertyStatement extends LogicStatement
public class PropertyStatement extends LogicStatement

Remarks

PropertyStatement objects are used by PropertyRule objects. If the condition for the property statement is met, the result defined by the Result property is returned.

You must specify values for the Result and Condition properties.

Inheritance Hierarchy

System.Object
   Microsoft.SqlServer.NotificationServices.Rules.RuleObject
     Microsoft.SqlServer.NotificationServices.Rules.LogicStatement
      Microsoft.SqlServer.NotificationServices.Rules.PropertyStatement

Example

The following example shows how to specify three properties: Few, Some, and Alot. Subscribers can use these properties when defining subscriptions.

// Define a new property that defines "Few," "Some," and "Alot"
// of inventory. 
PropertyRule quantityCategory = new PropertyRule(
    new ViewInputType(eventView),
    new PropertyStatement(new SimpleLeafCondition(
        new FieldValue("Quantity"),
        SimpleOperator.LessThan, 100), "Few"),
    new PropertyStatement(new BetweenLeafCondition(
        new FieldValue("Quantity"), 100, 200), "Some"),
    new PropertyStatement(new SimpleLeafCondition(
            new FieldValue("Quantity"),
            SimpleOperator.GreaterThan, 200),
        "Alot"));

// Create subscription and define basic properties.
s = new Subscription(nsApplication, subscriptionClassName);
s.SubscriberId = "Scott";
s.Enabled = true;
s.RuleName = "InventoryTrackerRule";
s.SetFieldValue("DeviceName", "myDevice");
s.SetFieldValue("SubscriberLocale", "en-us");


// Use the new property to return only products with "few" remaining
// in inventory. Note that the category definition can be reused.
s.Condition = new SimpleLeafCondition(
    new RuleValue(quantityCategory),
    SimpleOperator.Equals,
    "Few");

// Add subscription.
s.Add();

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

PropertyStatement Members
Microsoft.SqlServer.NotificationServices.Rules Namespace