If.Condition Property

Definition

The condition that determines which child activity to execute. The Then activity executes if the condition resolves to true. The Else activity executes if the condition resolves to false.

public:
 property System::Activities::InArgument<bool> ^ Condition { System::Activities::InArgument<bool> ^ get(); void set(System::Activities::InArgument<bool> ^ value); };
[System.Activities.RequiredArgument]
public System.Activities.InArgument<bool> Condition { get; set; }
[<System.Activities.RequiredArgument>]
member this.Condition : System.Activities.InArgument<bool> with get, set
Public Property Condition As InArgument(Of Boolean)

Property Value

The execution condition.

Attributes

Examples

The following code sample demonstrates setting the Condition property of an If activity.

new If
{
    // check if the order is asking for Widgets
    Condition = new InArgument<bool>( (e) => po.Get(e).PartName.Equals("Widget") ),
    Then = new If
    {
        // check if we have enough widgets in stock
        Condition = new InArgument<bool>( (e) => po.Get(e).Quantity < 100 ),
        Then = new SendReply
        {
            DisplayName = "Successful response",
            Request = submitPO,
            Content = SendContent.Create(new InArgument<string>( (e) => string.Format("Success: {0} Widgets have been ordered!", po.Get(e).Quantity)) )
        },
        // if we don't have enough widgets, throw an unhandled exception from this operation's body
        Else = new Throw
        {
            Exception = new InArgument<Exception>((e) => new Exception("We don't have that many Widgets."))
        }
    },
    // if its not for widgets, reply to the client that we don't carry that part by sending back an expected fault type (POFault)
    Else = new SendReply
    {
        DisplayName = "Expected fault",
        Request = submitPO,
        Content = SendContent.Create(new InArgument<FaultException<POFault>>( (e) => new FaultException<POFault>(
            new POFault
            {
                Problem = string.Format("This company does not carry {0}s, but we do carry Widgets.", po.Get(e).PartName),
                Solution = "Try your local hardware store."
            },
            new FaultReason("This is an expected fault.")
            )))
    }
}

Applies to