The Generate and convert to number masking activity allows you to generate a value using an IGenerator implementation and convert it to a number, i.e. an int value, before saving it to the database.
It functions the same as the Generate and convert, if you choose Int32 as the output value.
|Table of contents|
To use the Generate and convert to number masking activity, it must be placed inside a table masking activity or a similar activity that iterates over data. Once placed, a Select Types window will open where you must choose the TGeneratedValue type, i.e. the type you want to generate. Selecting the Browse for Types... option will open the Browse and Select a .Net Type window where you can search for more types. After clicking OK, you can choose the property you want to mask, and then enter an instance of a generator you want to you to generate new values. You can create a new instance as a part of the masking activity, or you can choose an instance from custom code. Lastly, you have to enter an expression that will convert you generated value to int.
This example will demonstrate the functionality of the Generate and convert to number activity by generating a random date and then assigning a value from the date to an address number in the database. We do this by first placing the Address masking activity into opened Package.xaml, placing the Generate and convert to number masking activity inside it. In the Select Types window we want to choose the DateTime type, but since it isn't one of the common types, we choose Browse for Types... to open the Browse and Select a .Net Type window.
Figure 1: Select Types window
In this window we can search for the type we want, in this case we search for the DateTime type. We select it and click OK on both windows.
Figure 2: Selecting DateTime as the generator output
After selecting the value type, we choose the Number column. As the generator, we create a new instance of the RandomDateTimeGenerator, and set it to generate random dates ranging from the date at the moment the package starts executing, to the maximum date the DateTime type can handle. We then need to create an expression that selects the DayOfYear property of the date and returns it as the result of the activity, effectively converting the value to int.
Figure 3: Generating and converting values to int
Note: Generally, convertors are defined through lambda expressions. To learn more about lambda expressions see lambda expressions.
|Property group||Property name||Description||Example|
|Input properties||DataItemProperty||The property to mask.||Write
|Expression||Expression used to convert generated values.||
|Generator||Generator used to generate values.||
|Input: Filter||Filter||Expression used for filtering records - only filtered items will be masked.||
|SkipDefaultValues||If true, default values will be omitted in masking (i.e. null values are not masked).||
|Input: Repeating||RepeaterId||The ID of the repeater that will be used to detect repeating and save results when masking item key repeats.||
|RepeatingKey||Key to use for repeating detection.||Write
|Misc||DisplayName||Display name of the activity in the workflow.||
|Result||Contains the masking definition object. It's a part of the masking infrastructure and should be ignored.||-|