Execute any Action in .Net Code


BizDataX Designer offers an extensive number of data masking operations that can be defined visually. However, some data masking projects require more flexibility. To support such scenarios, BizDataX includes support to include any .NET code in data masking packages. Several toolbox shapes can be used as a starting point or host for custom code:

  • GeneratorAction
  • SelectorAction
  • RegisterAction


ExecuteanyActioninNetCode_1GeneratorAction sets property value to a value generated by an instance of a generator. I.e. one could use it to set a property to a random number or random date value by using ready-made.





RandomNumberGenerator or RandomDateTimeGenerator. Anyone can generate custom values by writing a .Net code that implements IGenerator interface, i.e. phone number generator.


ExecuteanyActioninNetCode_2SelectorAction can call a .Net delegate or function when replacement value is needed. Function can be given a parameter which is why this operation is called selection, it selects a replacement value for the value given on input.




ExecuteanyActioninNetCode_3RegisterAction activity enables you to perform an operation an a whole item (i.e. record) that is being masked. You are not limited to generating replacement values like with GeneratorAction or SelectorAction, you can do anything you like.




I.e. you could change multiple properties when it is natural for custom logic to calculate replacement values for both at the same time.

In addition, you can develop a custom workflow activity, just like you could develop a custom activity for any other Windows Workflow Foundation workflow. To learn how to do that visit .NET Framework Developer Center documentation. BizDataX includes several base classes to make custom activity development easier.

I.e. to create an activity which can be used as an action that will be executed for each item in a sequence it should inherit from BaseAnonymizeAction, BaseFilteringAction orBaseRepeatableAction. Explore examples to learn how to implement this kind of a custom activity.
An interesting example of a custom activity that was developed from scratch is the Subsetactivity, used in the sample package.


ExecuteanyActioninNetCode_4When developing custom code, one can use existing BizDataX data masking classes. I.e. general purpose data generators like those for randomized selection of items from a list such as ItemsInRandomOrderGenerator or those for generating random date values such as RandomDateTimeGenerator.



Special generators like social security number and credit card number generators are also included. Everything available can be mixed and combined to form various complex data masking operation.

 There is a whole world of options available for development coded data masking operations. Information can be grasped by exploration of samples and concepts such as repeating values or case-specific value selection.