Export (0) Print
Expand All

Workflow Manager 1.0 Data Type Support and Expressions Activities

Updated: July 12, 2012

Workflow Manager 1.0 provides activities that fall under two categories: activities for working with expressions and data types, and activities for messaging, communications, and building the logic of your workflow applications. The first category of activities are most frequently used behind the scenes as expressions are translated into activity trees composed of activities from the trusted surface. This topic provides an overview of these activities.

String Activities

The following activities provide support for working with strings.

 

Activity Description Arguments

CompareString

Compares two strings (similar to IComparable). Supports regular expressions and ignore casing.

Does not support passing an explicit culture (all comparison are done using invariant culture)

InArgument<string> Left

InArgument<string> Right

InArgument<bool> IgnoreCase

OutArgument<int> Result

ConcatString

Concatenate a set of strings.

All inputs must to be string data types and not object.

Collection<InArgument<string> Inputs

OutArgument<bool> Result

ContainsString

Returns true if a string is contained into another string

Contains is always case sensitive.

InArgument<string> Input

InArgument<string> SearchValue

OutArgument<bool> Result

EndsWithString

Return true if a string ends with another string. Case insensitive operations are supported.

Does not support passing an explicit culture (all comparison are done using invariant culture by design)

InArgument<string> Left

InArgument<string> Right

InArgument<bool> IgnoreCase

OutArgument<bool> Result

FormatString

Format a string passing a set of arguments. Arguments can be of any type (as the arguments collection is of type InArgument).

Does not support passing an explicit culture (all comparison are done using invariant culture by design)

Custom IFormatProviders are not supported

InArgument<string> Format

Collection<InArgument> Arguments

IndexOfString

Returns the index in which a string occurs in another string.

Does not support passing an explicit culture (all comparison are done using invariant culture by design)

IgnoreCase flag to support case insensitive operations is not supported.

InArgument<string> Input

InArgument<string> SearchValue

InArgument<int> StartIndex

InArgument<int> Count

OutArgument<int> Index

IsEmptyString

Returns true if a string is empty or white space

InArgument<string> Input

InArgument<bool> CheckForWhiteSpace

OutArgument<bool> Result

IsEqualString

Returns true if two strings are equal. Also supports comparison using RegEx - supports ignoring casing.

Does not support passing an explicit culture (all comparison are done using invariant culture by design)

InArgument<string> Input

InArgument<string> Pattern

InArgument<string> Text

InArgument<bool> IgnoreCase

OutArgument<bool> Result

ReplaceString

Replace one string with another. Supports RegEx replacements.

InArgument<string> Input

InArgument<string> Pattern

InArgument<string> ExistingValue

InArgument<string> Replacement

OutArgument<string> Result

SplitString

Returns an array of strings based on an existing string.

InArgument<string> Input

InArgument<string> Separator

InArgument<StringSplitOptions> StringSplitOptions

OutArgument<string[]> Result

StartsWithString

Return true if a string starts with another string. Case insensitive operations are supported.

Does not support passing an explicit culture (all comparison are done using invariant culture by design).

InArgument<string> Left

InArgument<string> Right

bool IgnoreCase

OutArgument<bool> Result

StringLength

Returns the length of a string.

InArgument<string> Input

OutArgument<int> Result

Substring

Returns a substring from an existing string. Users can specify a start and a length.

InArgument<string> Input

InArgument<int> StartIndex

InArgument<int> Length

OutArgument<string> Result

ToLowerCase

Converts an input string to lower case

Does not support passing an explicit culture (all comparison are done using invariant culture by design).

InArgument<string> Input

OutArgument<string> Result

ToString

Converts an input value into a string. Supports passing a valid .NET format string and a culture name to do be used during the transformation

Does not support passing IFormatProviders (only culture name can be specified)

InArgument Object

InArgument<string> Format

InArgument<string> CultureName

OutArgument<string> Result

ToUpperCase

Converts an input string to upper case

Does not support passing an explicit culture (all comparison are done using invariant culture by design).

InArgument<string> Input

OutArgument<string> Result

Trim

Trims the contents of a string

Does not support passing the set of characters to be trimmed.

InArgument<string> Input

OutArgument<string> Result

Date Support Activities

The following activities are used when working with DateTime and TimeSpan types.

DateTime Activities

 

Activity Description Arguments

AddToDate

Adds to an existing date. Customers can add one or multiple date fragments (e.g. day, minute, month, and so on.) or a timeSpan

InArgument<DateTime> Input

InArgument<int> Days

InArgument<int> Months

InArgument<int> Hours

InArgument<int> Minutes

InArgument<int> Milliseconds

InArgument<TimeSpan> TimeSpan

OutArgument<DateTime> Result

CompareDate

Compares two dates (similar to IComparable)

InArgument<DateTime> Left

InArgument<DateTime> Right

OutArgument<int> Result

ConvertTimeZone

Converts a date between two given time zones

InArgument<DateTime> Input

InArgument<DateTime> SourceTimeZone

InArgument<DateTime> DestinationTimeZone

OutArgument<DateTime> Result

CreateDate

Create an instance of a new DateTime passing the components of the date. Dates can be local or UTC.

Does not support create a date out of the number of ticks.

InArgument<int> Day

InArgument<int> Month

InArgument<int> Year

InArgument<int> Hour

InArgument<int> Minute

InArgument<int> Second

InArgument<DateTimeKind> Kind

OutArgument<DateTime> Result

CurrentDate

Returns the current date from the server in UTC time.

OutArgument<Result> DateTime

DateInRange

Returns true if a date is within other two dates

InArgument<DateTime> Input

InArgument<DateTime> Start

InArgument<DateTime> End

OutArgument<bool> Result

DelayUntil

Waits until a given date

InArgument<DateTime> Date

GetDateField

Returns the fields of DateTime instance

InArgument<DateTime> Input

DateField DateField

OutArgument<int> Result

GetDateFields

Returns a field of a DateTimeInstance

InArgument<DateTime> Input

OutArgument<int> Year

OutArgument<int> Month

OutArgument<int> Day

OutArgument<int> Hour

OutArgument<int> Minute

OutArgument<int> Second

GetElapsedDays

Get the days elapsed between two dates. Users can exclude weekends and holidays

InArgument<DateTime> Start

InArgument<DateTime> End

InArgument<bool> ExcludeWeekends

InArgument<IEnumerable<DateTime>> ExcludedDates

OutArgument<int> Result

GetElapsedTime

Returns the time elapsed between two dates

InArgument<DateTime> Start

InArgument<DateTime> End

OutArgument<TimeSpan> Result

SubtractFromDate

Subtracts from a Date. Users can pass a date fragment (e.g. hours or days) or a TimeSpan.

InArgument<DateTime> Input

InArgument<int> Days

InArgument<int> Hours

InArgument<int> Minutes

InArgument<int> Seconds

InArgument<TimeSpan> TimeSpan

OutArgument<DateTime> Result

ParseDate

Parses a string into a DateTime. Supports passing the CultureName (the culture is created within the activity) and the DateTimeStyle

InArgument<string> Value

InArgument<DateTimeStyles> DateTimeStyles

InArgument<string> CultureName

TimeSpan Activities

 

Activity Description Signature

CreateTimeSpan

Creates an instance of a TimeSpan

InArgument<int> Days

InArgument<int> Minutes

InArgument<int> Hours

InArgument<int> Seconds

OutArgument<TimeSpan> Result

Delay

Waits for a given TimeSpan

InArgument<TimeSpan> Duration

GetTimeSpanFields

Gets different fields of a TimeSpan

InArgument<TimeSpan> Input

OutArgument<int> Days

OutArgument<int> Hours

OutArgument<int> Minutes

OutArgument<int> Seconds

OutArgument<int> TotalDays

OutArgument<int> TotalHours

OutArgument<int> TotalMinutes

OutArgument<int> TotalSeconds

Numeric Type Activities

The following activities provide support for working with Int32 and Double data types.

 

Activity Description Arguments

Add<T>

Adds two numbers

InArgument<T> Left

InArgument<T> Right

OutArgument<T> Result

Divide<T>

Divides two numbers

InArgument<T> Left

InArgument<T> Right

OutArgument<T> Result

IsEqualNumber<T>

Returns true if two numbers are equal

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsGreaterThan<T>

Returns true if a number is greater than another

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsGreaterThanOrEqual<T>

Returns true if a number is greater or equal than another

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsLessThan<T>

Returns true if a number is smaller than another

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsLessThanOrEqual<T>

Returns true if a number is smaller or equal than another

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

Mod<T>

Mod operation

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

Multiply<T>

Multiplies two numbers

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

ParseNumber<T>

Parses a number

InArgument<string> Value

InArgument<string> CultureName

InArgument<NumberStyles> NumberStyles

OutArgument<bool> Result

Subtract<T>

Subtracts two numbers

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

Boolean Activities

The following activities provide support for working with Boolean values.

 

Activity Description Arguments

And

Logical and operation

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

IsEqualBoolean

Logical equality between two boolean values

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

IsFalse

Returns true if a boolean is False

InArgument<bool> Input

InArgument<bool> Result

IsTrue

Returns true if a boolean is True

InArgument<bool> Input

InArgument<bool> Result

Not

Negation

InArgument<bool> Input

InArgument<bool> Result

Or

Logical Or

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

ParseBoolean

Parses a Boolean

InArgument<string> Input

InArgument<bool> Result

Guid Activities

The following activites provide support for working with Guids.

 

Activity Description Arguments

IsEmptyGuid

Returns true if a Guid is empty

InArgument<Guid> Value

OutArgument<bool> Result

IsEqualGuid

Returns true if two Guids are equal

InArgument<Guid> Left

InArgument<Guid> Right

OutArgument<bool> Result

NewGuid

Creates and return a new Guid

OutArgument<Guid> Result

ParseGuid

Parse a guid from a string

InArgument<string> Value

OutArgument<Guid> Result

Collection Activities

The following activities provide support for working with collections. The ICollection activities are useful for working with collections of items that can be accessed by index, and the IDictionary activites are useful for working with collections of key/value pairs.

ICollection

 

Activity Description Arguments

AddToCollection<T>

Adds an item to a collection (from System.Activities)

InArgument<ICollection<T>> Collection

InArgument<T> Item

RemoveFromCollection<T>

Removed an item to a collection (from System.Activities)

InArgument<ICollection<T>> Collection

InArgument<T> Item

OutArgument<bool> Result

ExistsInCollection<T>

Returns true if an item exists in a collection (from System.Activities)

InArgument<ICollection<T>> Collection

InArgument<T> Item

OutArgument<bool> Result

ClearCollection<T>

Clears a collection (from System.Activities)

InArgument<ICollection<T>> Collection

BuildCollection<T>

Creates and initializes a collection

InArgument<IEnumerable<T>> Collection

ICollection<InArgument<T>> ValuesOutArgument<Collection<T>> Result

CountCollection<T>

Counts the item in a collection

InArgument<ICollection<T>> Collection

OutArgument<int> Result

GetItemFromCollection<T>

Gets an item from a collection

InArgument<ICollection<T>> Collection

InArgument<int> Index

OutArgument<T> Result

IDictionary

 

Activity Description Arguments

AddToDictionary<K,V>

Adds an item to a collection (from System.Activities)

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

InArgument<V> Value

RemoveFromDictionary<T>

Removed an item to a dictionary (from System.Activities)

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

DictionaryContains<K,V>

Returns true if an item exists in a dictionary (from System.Activities)

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

InArgument<V> Value

OutArgument<bool> Result

ClearDictionary<K,V>

Clears a collection (from System.Activities)

InArgument<IDictionary<K,V>> Dictionary

BuildDictionary<K,V>

Creates and initializes a collection

InArgument<IDictionary<K,V>> Dictionary

IDictionary<TKey, InArgument<TValue>> Values

OutArgument<IDictionary<K,V>> Result

CountDictionary<K,V>

Counts the item in a collection

InArgument<IDictionary<K,V>> Dictionary

OutArgument<int> Result

SplitKeyValuePair<K,V>

Split the key and the value out of a KeyValuePair

InArgument<KeyValuePair<K,V>> Dictionary

OutArgument<K> Key

OutArgument<V> Value

GetDictionaryValue<K,V>

Gets a value from a dictionary

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

OutArgument<V> Result

Exception Activities

The following activities provide support for exception handling.

 

Activity Description Arguments

TryCatch

Exception handling in workflows

This activity is from WF4

Throw

Throws an exception

This activity is from WF4

InArgument<Exception> Exception

Rethrow

Rethrows an exception (similar to “throw” without arguments in c#)

This activity is from WF4

CreateException<T>

Creates an instance of an exception

InArgument<string> Message

InArgument<Exception> InnerException

Uri Activities

The Uri data type is supported by the trusted list and may be used by other activities that take a Uri as a parameter. It can be created by using the New<Uri> activity, and by the CreateUriFromDynamicValue activity.


Workflow Manager 1.0 MSDN Community Forum


Build Date:

2014-01-17

Community Additions

ADD
Show:
© 2014 Microsoft