BusinessProcessor

Overview

When a Data Abstract service UpdateData method is called, each of the deltas sent by the client are handed to a specific Business Processor (either auto created or explicitly dropped on the service at design time), which executes the appropriate INSERT, DELETE and UPDATE SQL commands for each of the changes related to one data table.

You can specify which data table a Business Processor refers to by setting the property ReferencedDataTable.

Business Processors can either auto generate the SQL used by such commands (see properties AutoGenerateInsert , AutoGenerateDelete and AutoGenerateUpdate) or reference commands you define in a Schema (see properties InsertCommandName, DeleteCommandName and UpdateCommandName).

Once a delta change has been processed, the contents of the row can be re-read through the use of a query identified by the RefreshDataTableName. This is useful whenever a trigger modifies the record in the background and you want to avoid a second round trip to the server to get an exact snapshot of the data. The values returned by the refresh query are merged in the delta and sent back to the client during the same UpdateData call.

In order to control what happens before and after the processing of each delta or their changes, use the many events provided by the Business Processor class.

In summary, it allows you to define the business logic surrounding the processing of delta changes, before and after they get applied to the database.

Location


 

constructor

Creates a new instance of the BusinessProcessor class.

 

constructor

 

BusinessProcessor()

 

init()

 

Sub New()

constructor (IContainer)

Creates a new instance of the BusinessProcessor class and adds it to the provided components container.

 

constructor(container: IContainer)

 

BusinessProcessor(IContainer container)

 

init(_ container: IContainer)

 

Sub New(container As IContainer)

Parameters:

  • container: Components container

AfterExecuteCommand

Fires after a command was executed.

 

event AfterExecuteCommand: ExecuteCommandHandler
delegate: method AfterExecuteCommand(sender: BusinessProcessor; e: ExecuteCommandArgs)

 

delegate ExecuteCommandHandler AfterExecuteCommand()
delegate: void AfterExecuteCommand(BusinessProcessor sender, ExecuteCommandArgs e)

 

__event ExecuteCommandHandler: AfterExecuteCommand!
delegate: func AfterExecuteCommand(_ sender: BusinessProcessor, _ e: ExecuteCommandArgs)

 

Event AfterExecuteCommand As ExecuteCommandHandler
delegate: Sub AfterExecuteCommand(sender As BusinessProcessor, e As ExecuteCommandArgs)

AfterProcessChange

Occurs after a delta change has been successfully processed. A common use of this event could be to store information about the updates in a log table.

 

event AfterProcessChange: EventHandler<DeltaChangeEventArgs>

 

delegate EventHandler<DeltaChangeEventArgs> AfterProcessChange()

 

__event EventHandler<DeltaChangeEventArgs>: AfterProcessChange!

 

Event AfterProcessChange As EventHandler<DeltaChangeEventArgs>

AfterProcessDelta

Occurs after a complete delta has been processed. A common use of this event could be to store information about the updates in a log table.

 

event AfterProcessDelta: EventHandler<DeltaEventArgs>

 

delegate EventHandler<DeltaEventArgs> AfterProcessDelta()

 

__event EventHandler<DeltaEventArgs>: AfterProcessDelta!

 

Event AfterProcessDelta As EventHandler<DeltaEventArgs>

AfterSqlGeneration

Occurs after the business processor auto generates the SQL text used to process a specific type of change (insert, delete or update). The parameters in the event arguments provide you with all the information you need to understand what type of SQL is being generated and, by modifying the SQLStatement property, allow you to replace the auto generated SQL. A common use of this event could be to track the SQL being executed and log it in a text file for debugging purposes.

 

event AfterSqlGeneration: SqlGenerationEventHandler
delegate: method AfterSqlGeneration(sender: BusinessProcessor; e: SqlGenerationEventArgs)

 

delegate SqlGenerationEventHandler AfterSqlGeneration()
delegate: void AfterSqlGeneration(BusinessProcessor sender, SqlGenerationEventArgs e)

 

__event SqlGenerationEventHandler: AfterSqlGeneration!
delegate: func AfterSqlGeneration(_ sender: BusinessProcessor, _ e: SqlGenerationEventArgs)

 

Event AfterSqlGeneration As SqlGenerationEventHandler
delegate: Sub AfterSqlGeneration(sender As BusinessProcessor, e As SqlGenerationEventArgs)

AllowedChangeTypes

 

property AllowedChangeTypes: set of ChangeType read write;

 

set of ChangeType AllowedChangeTypes { get; set; }

 

var AllowedChangeTypes: set of ChangeType { get{} set{} }

 

Property AllowedChangeTypes() As set of ChangeType

AssignChangeValuesToCommand  protected

Sets the command parameters values. Source values are taken from the provided DeltaChange instance.

 

method AssignChangeValuesToCommand(connection: IAbstractConnection; command: IDbCommand; mappings: ParamMappingCollection; delta: DeltaChange)

 

void AssignChangeValuesToCommand(IAbstractConnection connection, IDbCommand command, ParamMappingCollection mappings, DeltaChange delta)

 

func AssignChangeValuesToCommand(_ connection: IAbstractConnection, _ command: IDbCommand, _ mappings: ParamMappingCollection, _ delta: DeltaChange)

 

Sub AssignChangeValuesToCommand(connection As IAbstractConnection, command As IDbCommand, mappings As ParamMappingCollection, delta As DeltaChange)

Parameters:

  • connection: Database connection
  • command: Database command
  • mappings: Parameter mapping
  • delta: DeltaChange instance that will provide parameter values

AutoGenerateDelete

Indicates if the SQL text for the delete command should be auto generated. If you want to use a specific SQL command defined in a Schema instead, set the DeleteCommandName property.

 

// .NET Core, .NET Standard
property AutoGenerateDelete: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property AutoGenerateDelete: Boolean read write;

 

// .NET Core, .NET Standard
Boolean AutoGenerateDelete { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean AutoGenerateDelete { get; set; }

 

// .NET Core, .NET Standard
var AutoGenerateDelete: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var AutoGenerateDelete: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property AutoGenerateDelete() As Boolean
// .NET Framework
<DefaultValue(true)>
Property AutoGenerateDelete() As Boolean

AutoGenerateInsert

Indicates if the SQL text for the insert command should be auto generated. If you want to use a specific SQL command defined in a Schema instead, set the InsertCommandName property.

 

// .NET Core, .NET Standard
property AutoGenerateInsert: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property AutoGenerateInsert: Boolean read write;

 

// .NET Core, .NET Standard
Boolean AutoGenerateInsert { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean AutoGenerateInsert { get; set; }

 

// .NET Core, .NET Standard
var AutoGenerateInsert: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var AutoGenerateInsert: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property AutoGenerateInsert() As Boolean
// .NET Framework
<DefaultValue(true)>
Property AutoGenerateInsert() As Boolean

AutoGenerateRefresh

Indicates if the SQL text for the refresh data table should be auto generated. If you want to use a specific data table defined in a Schema instead, set the RefreshDataTableName property.

 

// .NET Core, .NET Standard
property AutoGenerateRefresh: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property AutoGenerateRefresh: Boolean read write;

 

// .NET Core, .NET Standard
Boolean AutoGenerateRefresh { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean AutoGenerateRefresh { get; set; }

 

// .NET Core, .NET Standard
var AutoGenerateRefresh: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var AutoGenerateRefresh: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property AutoGenerateRefresh() As Boolean
// .NET Framework
<DefaultValue(true)>
Property AutoGenerateRefresh() As Boolean

AutoGenerateUpdate

Indicates if the SQL text for the update command should be auto generated. If you want to use a specific SQL command defined in a Schema instead, set the UpdateCommandName property.

 

// .NET Core, .NET Standard
property AutoGenerateUpdate: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property AutoGenerateUpdate: Boolean read write;

 

// .NET Core, .NET Standard
Boolean AutoGenerateUpdate { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean AutoGenerateUpdate { get; set; }

 

// .NET Core, .NET Standard
var AutoGenerateUpdate: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var AutoGenerateUpdate: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property AutoGenerateUpdate() As Boolean
// .NET Framework
<DefaultValue(true)>
Property AutoGenerateUpdate() As Boolean

BeforeExecuteCommand

 

event BeforeExecuteCommand: ExecuteCommandHandler
delegate: method BeforeExecuteCommand(sender: BusinessProcessor; e: ExecuteCommandArgs)

 

delegate ExecuteCommandHandler BeforeExecuteCommand()
delegate: void BeforeExecuteCommand(BusinessProcessor sender, ExecuteCommandArgs e)

 

__event ExecuteCommandHandler: BeforeExecuteCommand!
delegate: func BeforeExecuteCommand(_ sender: BusinessProcessor, _ e: ExecuteCommandArgs)

 

Event BeforeExecuteCommand As ExecuteCommandHandler
delegate: Sub BeforeExecuteCommand(sender As BusinessProcessor, e As ExecuteCommandArgs)

BeforeGetTableData

 

event BeforeGetTableData: BeforeGetTableDataEventHandler
delegate: method BeforeGetTableData(sender: BusinessProcessor; e: BeforeGetTableDataEventArgs)

 

delegate BeforeGetTableDataEventHandler BeforeGetTableData()
delegate: void BeforeGetTableData(BusinessProcessor sender, BeforeGetTableDataEventArgs e)

 

__event BeforeGetTableDataEventHandler: BeforeGetTableData!
delegate: func BeforeGetTableData(_ sender: BusinessProcessor, _ e: BeforeGetTableDataEventArgs)

 

Event BeforeGetTableData As BeforeGetTableDataEventHandler
delegate: Sub BeforeGetTableData(sender As BusinessProcessor, e As BeforeGetTableDataEventArgs)

BeforeProcessChange

Occurs before a delta change is about to be processed. A common use of this event could be to abort an update if the user sending the delta doesn't have enough privileges to do so. To abort the processing of a delta change, simply fire an exception in this event handler.

 

event BeforeProcessChange: EventHandler<DeltaChangeEventArgs>

 

delegate EventHandler<DeltaChangeEventArgs> BeforeProcessChange()

 

__event EventHandler<DeltaChangeEventArgs>: BeforeProcessChange!

 

Event BeforeProcessChange As EventHandler<DeltaChangeEventArgs>

BeforeProcessDelta

Occurs before a delta is about to be processed. A common use of this event could be to log information about the delta in a log table or to forbid a specific user to modify the data table referenced by the ReferencedDataTable property.

 

event BeforeProcessDelta: EventHandler<DeltaEventArgs>

 

delegate EventHandler<DeltaEventArgs> BeforeProcessDelta()

 

__event EventHandler<DeltaEventArgs>: BeforeProcessDelta!

 

Event BeforeProcessDelta As EventHandler<DeltaEventArgs>

CreateParameterMappings  protected

 

method CreateParameterMappings(connection: IAbstractConnection; table: SchemaDataTable; command: IDbCommand; parameters: SchemaParameterCollection; delta: Delta; fields: SchemaColumnMappingCollection): ParamMappingCollection

 

ParamMappingCollection CreateParameterMappings(IAbstractConnection connection, SchemaDataTable table, IDbCommand command, SchemaParameterCollection parameters, Delta delta, SchemaColumnMappingCollection fields)

 

func CreateParameterMappings(_ connection: IAbstractConnection, _ table: SchemaDataTable, _ command: IDbCommand, _ parameters: SchemaParameterCollection, _ delta: Delta, _ fields: SchemaColumnMappingCollection) -> ParamMappingCollection

 

Function CreateParameterMappings(connection As IAbstractConnection, table As SchemaDataTable, command As IDbCommand, parameters As SchemaParameterCollection, delta As Delta, fields As SchemaColumnMappingCollection) As ParamMappingCollection

Parameters:

  • connection:
  • table:
  • command:
  • parameters:
  • delta:
  • fields:

CreateRefreshCommand  protected

 

method CreateRefreshCommand(connection: IAbstractConnection; table: SchemaDataTable; updateMode: UpdateMode; fields: array of String; out parameters: SchemaParameterCollection): IDbCommand

 

IDbCommand CreateRefreshCommand(IAbstractConnection connection, SchemaDataTable table, UpdateMode updateMode, String[] fields, out SchemaParameterCollection parameters)

 

func CreateRefreshCommand(_ connection: IAbstractConnection, _ table: SchemaDataTable, _ updateMode: UpdateMode, _ fields: String..., _ parameters: inout SchemaParameterCollection) -> IDbCommand

 

Function CreateRefreshCommand(connection As IAbstractConnection, table As SchemaDataTable, updateMode As UpdateMode, fields As String(), <OutAttribute> ByRef parameters As SchemaParameterCollection) As IDbCommand

Parameters:

  • connection:
  • table:
  • updateMode:
  • fields:
  • parameters:

CreateUpdateCommand  protected

 

method CreateUpdateCommand(connection: IAbstractConnection; table: SchemaDataTable; changeType: ChangeType; change: DeltaChange; updateMode: UpdateMode; columnMapping: SchemaColumnMappingCollection; out parameters: SchemaParameterCollection): IDbCommand

 

IDbCommand CreateUpdateCommand(IAbstractConnection connection, SchemaDataTable table, ChangeType changeType, DeltaChange change, UpdateMode updateMode, SchemaColumnMappingCollection columnMapping, out SchemaParameterCollection parameters)

 

func CreateUpdateCommand(_ connection: IAbstractConnection, _ table: SchemaDataTable, _ changeType: ChangeType, _ change: DeltaChange, _ updateMode: UpdateMode, _ columnMapping: SchemaColumnMappingCollection, _ parameters: inout SchemaParameterCollection) -> IDbCommand

 

Function CreateUpdateCommand(connection As IAbstractConnection, table As SchemaDataTable, changeType As ChangeType, change As DeltaChange, updateMode As UpdateMode, columnMapping As SchemaColumnMappingCollection, <OutAttribute> ByRef parameters As SchemaParameterCollection) As IDbCommand

Parameters:

  • connection:
  • table:
  • changeType:
  • change:
  • updateMode:
  • columnMapping:
  • parameters:

DeleteCommandName

Identifies the name of the Schema command to be be executed when applying the deletes of a delta.

 

property DeleteCommandName: String read write;

 

// .NET Core, .NET Standard
String DeleteCommandName { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String DeleteCommandName { get; set; }

 

// .NET Core, .NET Standard
var DeleteCommandName: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var DeleteCommandName: String { get{} set{} }

 

// .NET Core, .NET Standard
Property DeleteCommandName() As String
// .NET Framework
<DefaultValue(\"\")>
Property DeleteCommandName() As String

IgnoreAffectedRows

 

// .NET Core, .NET Standard
property IgnoreAffectedRows: Boolean read write;
// .NET Framework
[DefaultValue(false)]
property IgnoreAffectedRows: Boolean read write;

 

// .NET Core, .NET Standard
Boolean IgnoreAffectedRows { get; set; }
// .NET Framework
[DefaultValue(false)]
Boolean IgnoreAffectedRows { get; set; }

 

// .NET Core, .NET Standard
var IgnoreAffectedRows: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(false)
var IgnoreAffectedRows: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property IgnoreAffectedRows() As Boolean
// .NET Framework
<DefaultValue(false)>
Property IgnoreAffectedRows() As Boolean

InsertCommandName

Identifies the name of the schema command to be be executed when applying the inserts of a delta.

 

property InsertCommandName: String read write;

 

// .NET Core, .NET Standard
String InsertCommandName { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String InsertCommandName { get; set; }

 

// .NET Core, .NET Standard
var InsertCommandName: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var InsertCommandName: String { get{} set{} }

 

// .NET Core, .NET Standard
Property InsertCommandName() As String
// .NET Framework
<DefaultValue(\"\")>
Property InsertCommandName() As String

PrepareCommands

Indicates if the commands executed when processing delta changes should be prepared before being executed.

 

// .NET Core, .NET Standard
property PrepareCommands: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property PrepareCommands: Boolean read write;

 

// .NET Core, .NET Standard
Boolean PrepareCommands { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean PrepareCommands { get; set; }

 

// .NET Core, .NET Standard
var PrepareCommands: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var PrepareCommands: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property PrepareCommands() As Boolean
// .NET Framework
<DefaultValue(true)>
Property PrepareCommands() As Boolean

ProcessDelta

Performs the processing of the passed delta and applies the changes to the database.

 

method ProcessDelta(connection: IAbstractConnection; schema: ServiceSchema; delta: Delta; allowInsert: Boolean; allowUpdate: Boolean; allowDelete: Boolean)

 

void ProcessDelta(IAbstractConnection connection, ServiceSchema schema, Delta delta, Boolean allowInsert, Boolean allowUpdate, Boolean allowDelete)

 

func ProcessDelta(_ connection: IAbstractConnection, _ schema: ServiceSchema, _ delta: Delta, _ allowInsert: Boolean, _ allowUpdate: Boolean, _ allowDelete: Boolean)

 

Sub ProcessDelta(connection As IAbstractConnection, schema As ServiceSchema, delta As Delta, allowInsert As Boolean, allowUpdate As Boolean, allowDelete As Boolean)

Parameters:

  • connection:
  • schema:
  • delta:
  • allowInsert:
  • allowUpdate:
  • allowDelete:

ProcessError

Occurs anytime a delta change processing fails. The event arguments of this event contain information about the exception being raised and provide the opportunity to halt the whole delta processing or ignore it and continue.

 

event ProcessError: EventHandler<DeltaChangeErrorEventArgs>

 

delegate EventHandler<DeltaChangeErrorEventArgs> ProcessError()

 

__event EventHandler<DeltaChangeErrorEventArgs>: ProcessError!

 

Event ProcessError As EventHandler<DeltaChangeErrorEventArgs>

ReferencedDataTable

 

property ReferencedDataTable: String read write;

 

// .NET Core, .NET Standard
String ReferencedDataTable { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String ReferencedDataTable { get; set; }

 

// .NET Core, .NET Standard
var ReferencedDataTable: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var ReferencedDataTable: String { get{} set{} }

 

// .NET Core, .NET Standard
Property ReferencedDataTable() As String
// .NET Framework
<DefaultValue(\"\")>
Property ReferencedDataTable() As String

RefreshDataTableName

Identifies the name of the Schema data table to be used to re-read the values of a row after it has been inserted or updated.

 

property RefreshDataTableName: String read write;

 

// .NET Core, .NET Standard
String RefreshDataTableName { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String RefreshDataTableName { get; set; }

 

// .NET Core, .NET Standard
var RefreshDataTableName: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var RefreshDataTableName: String { get{} set{} }

 

// .NET Core, .NET Standard
Property RefreshDataTableName() As String
// .NET Framework
<DefaultValue(\"\")>
Property RefreshDataTableName() As String

ServiceEvents

 

property ServiceEvents: IDataAbstractServiceEvents read write;

 

IDataAbstractServiceEvents ServiceEvents { get; set; }

 

var ServiceEvents: IDataAbstractServiceEvents { get{} set{} }

 

Property ServiceEvents() As IDataAbstractServiceEvents

TriggerAfterExecuteCommand  protected

 

method TriggerAfterExecuteCommand(e: ExecuteCommandArgs)

 

void TriggerAfterExecuteCommand(ExecuteCommandArgs e)

 

func TriggerAfterExecuteCommand(_ e: ExecuteCommandArgs)

 

Sub TriggerAfterExecuteCommand(e As ExecuteCommandArgs)

Parameters:

  • e:

TriggerAfterProcessChange  protected

 

method TriggerAfterProcessChange(e: DeltaChangeEventArgs)

 

void TriggerAfterProcessChange(DeltaChangeEventArgs e)

 

func TriggerAfterProcessChange(_ e: DeltaChangeEventArgs)

 

Sub TriggerAfterProcessChange(e As DeltaChangeEventArgs)

Parameters:

  • e:

TriggerAfterProcessDelta  protected

 

method TriggerAfterProcessDelta(e: DeltaEventArgs)

 

void TriggerAfterProcessDelta(DeltaEventArgs e)

 

func TriggerAfterProcessDelta(_ e: DeltaEventArgs)

 

Sub TriggerAfterProcessDelta(e As DeltaEventArgs)

Parameters:

  • e:

TriggerAfterSqlGeneration  protected

 

method TriggerAfterSqlGeneration(e: SqlGenerationEventArgs)

 

void TriggerAfterSqlGeneration(SqlGenerationEventArgs e)

 

func TriggerAfterSqlGeneration(_ e: SqlGenerationEventArgs)

 

Sub TriggerAfterSqlGeneration(e As SqlGenerationEventArgs)

Parameters:

  • e:

TriggerBeforeExecuteCommand  protected

 

method TriggerBeforeExecuteCommand(e: ExecuteCommandArgs)

 

void TriggerBeforeExecuteCommand(ExecuteCommandArgs e)

 

func TriggerBeforeExecuteCommand(_ e: ExecuteCommandArgs)

 

Sub TriggerBeforeExecuteCommand(e As ExecuteCommandArgs)

Parameters:

  • e:

TriggerBeforeProcessChange  protected

 

method TriggerBeforeProcessChange(e: DeltaChangeEventArgs)

 

void TriggerBeforeProcessChange(DeltaChangeEventArgs e)

 

func TriggerBeforeProcessChange(_ e: DeltaChangeEventArgs)

 

Sub TriggerBeforeProcessChange(e As DeltaChangeEventArgs)

Parameters:

  • e:

TriggerBeforeProcessDelta  protected

 

method TriggerBeforeProcessDelta(e: DeltaEventArgs)

 

void TriggerBeforeProcessDelta(DeltaEventArgs e)

 

func TriggerBeforeProcessDelta(_ e: DeltaEventArgs)

 

Sub TriggerBeforeProcessDelta(e As DeltaEventArgs)

Parameters:

  • e:

TriggerProcessError  protected

 

method TriggerProcessError(e: DeltaChangeErrorEventArgs)

 

void TriggerProcessError(DeltaChangeErrorEventArgs e)

 

func TriggerProcessError(_ e: DeltaChangeErrorEventArgs)

 

Sub TriggerProcessError(e As DeltaChangeErrorEventArgs)

Parameters:

  • e:

TriggerValidateDataTableAccess  protected

 

method TriggerValidateDataTableAccess(e: ValidateSchemaObjectAccessEventArgs)

 

void TriggerValidateDataTableAccess(ValidateSchemaObjectAccessEventArgs e)

 

func TriggerValidateDataTableAccess(_ e: ValidateSchemaObjectAccessEventArgs)

 

Sub TriggerValidateDataTableAccess(e As ValidateSchemaObjectAccessEventArgs)

Parameters:

  • e:

UpdateCommandName

Identifies the name of the Schema command to be be executed when applying the updates of a delta.

 

property UpdateCommandName: String read write;

 

// .NET Core, .NET Standard
String UpdateCommandName { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String UpdateCommandName { get; set; }

 

// .NET Core, .NET Standard
var UpdateCommandName: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var UpdateCommandName: String { get{} set{} }

 

// .NET Core, .NET Standard
Property UpdateCommandName() As String
// .NET Framework
<DefaultValue(\"\")>
Property UpdateCommandName() As String

UpdateMode

Specifies how to locate records that are going to be affected by a delta change.

 

// .NET Core, .NET Standard
property UpdateMode: UpdateMode read write;
// .NET Framework
[DefaultValue(UpdateMode.WhereKeyOnly)]
property UpdateMode: UpdateMode read write;

 

// .NET Core, .NET Standard
UpdateMode UpdateMode { get; set; }
// .NET Framework
[DefaultValue(UpdateMode.WhereKeyOnly)]
UpdateMode UpdateMode { get; set; }

 

// .NET Core, .NET Standard
var UpdateMode: UpdateMode { get{} set{} }
// .NET Framework
@DefaultValue(UpdateMode.WhereKeyOnly)
var UpdateMode: UpdateMode { get{} set{} }

 

// .NET Core, .NET Standard
Property UpdateMode() As UpdateMode
// .NET Framework
<DefaultValue(UpdateMode.WhereKeyOnly)>
Property UpdateMode() As UpdateMode

 

AllowedChangeTypes

 

property AllowedChangeTypes: set of ChangeType read write;

 

set of ChangeType AllowedChangeTypes { get; set; }

 

var AllowedChangeTypes: set of ChangeType { get{} set{} }

 

Property AllowedChangeTypes() As set of ChangeType

AutoGenerateDelete

Indicates if the SQL text for the delete command should be auto generated. If you want to use a specific SQL command defined in a Schema instead, set the DeleteCommandName property.

 

// .NET Core, .NET Standard
property AutoGenerateDelete: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property AutoGenerateDelete: Boolean read write;

 

// .NET Core, .NET Standard
Boolean AutoGenerateDelete { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean AutoGenerateDelete { get; set; }

 

// .NET Core, .NET Standard
var AutoGenerateDelete: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var AutoGenerateDelete: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property AutoGenerateDelete() As Boolean
// .NET Framework
<DefaultValue(true)>
Property AutoGenerateDelete() As Boolean

AutoGenerateInsert

Indicates if the SQL text for the insert command should be auto generated. If you want to use a specific SQL command defined in a Schema instead, set the InsertCommandName property.

 

// .NET Core, .NET Standard
property AutoGenerateInsert: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property AutoGenerateInsert: Boolean read write;

 

// .NET Core, .NET Standard
Boolean AutoGenerateInsert { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean AutoGenerateInsert { get; set; }

 

// .NET Core, .NET Standard
var AutoGenerateInsert: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var AutoGenerateInsert: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property AutoGenerateInsert() As Boolean
// .NET Framework
<DefaultValue(true)>
Property AutoGenerateInsert() As Boolean

AutoGenerateRefresh

Indicates if the SQL text for the refresh data table should be auto generated. If you want to use a specific data table defined in a Schema instead, set the RefreshDataTableName property.

 

// .NET Core, .NET Standard
property AutoGenerateRefresh: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property AutoGenerateRefresh: Boolean read write;

 

// .NET Core, .NET Standard
Boolean AutoGenerateRefresh { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean AutoGenerateRefresh { get; set; }

 

// .NET Core, .NET Standard
var AutoGenerateRefresh: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var AutoGenerateRefresh: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property AutoGenerateRefresh() As Boolean
// .NET Framework
<DefaultValue(true)>
Property AutoGenerateRefresh() As Boolean

AutoGenerateUpdate

Indicates if the SQL text for the update command should be auto generated. If you want to use a specific SQL command defined in a Schema instead, set the UpdateCommandName property.

 

// .NET Core, .NET Standard
property AutoGenerateUpdate: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property AutoGenerateUpdate: Boolean read write;

 

// .NET Core, .NET Standard
Boolean AutoGenerateUpdate { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean AutoGenerateUpdate { get; set; }

 

// .NET Core, .NET Standard
var AutoGenerateUpdate: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var AutoGenerateUpdate: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property AutoGenerateUpdate() As Boolean
// .NET Framework
<DefaultValue(true)>
Property AutoGenerateUpdate() As Boolean

DeleteCommandName

Identifies the name of the Schema command to be be executed when applying the deletes of a delta.

 

property DeleteCommandName: String read write;

 

// .NET Core, .NET Standard
String DeleteCommandName { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String DeleteCommandName { get; set; }

 

// .NET Core, .NET Standard
var DeleteCommandName: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var DeleteCommandName: String { get{} set{} }

 

// .NET Core, .NET Standard
Property DeleteCommandName() As String
// .NET Framework
<DefaultValue(\"\")>
Property DeleteCommandName() As String

IgnoreAffectedRows

 

// .NET Core, .NET Standard
property IgnoreAffectedRows: Boolean read write;
// .NET Framework
[DefaultValue(false)]
property IgnoreAffectedRows: Boolean read write;

 

// .NET Core, .NET Standard
Boolean IgnoreAffectedRows { get; set; }
// .NET Framework
[DefaultValue(false)]
Boolean IgnoreAffectedRows { get; set; }

 

// .NET Core, .NET Standard
var IgnoreAffectedRows: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(false)
var IgnoreAffectedRows: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property IgnoreAffectedRows() As Boolean
// .NET Framework
<DefaultValue(false)>
Property IgnoreAffectedRows() As Boolean

InsertCommandName

Identifies the name of the schema command to be be executed when applying the inserts of a delta.

 

property InsertCommandName: String read write;

 

// .NET Core, .NET Standard
String InsertCommandName { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String InsertCommandName { get; set; }

 

// .NET Core, .NET Standard
var InsertCommandName: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var InsertCommandName: String { get{} set{} }

 

// .NET Core, .NET Standard
Property InsertCommandName() As String
// .NET Framework
<DefaultValue(\"\")>
Property InsertCommandName() As String

PrepareCommands

Indicates if the commands executed when processing delta changes should be prepared before being executed.

 

// .NET Core, .NET Standard
property PrepareCommands: Boolean read write;
// .NET Framework
[DefaultValue(true)]
property PrepareCommands: Boolean read write;

 

// .NET Core, .NET Standard
Boolean PrepareCommands { get; set; }
// .NET Framework
[DefaultValue(true)]
Boolean PrepareCommands { get; set; }

 

// .NET Core, .NET Standard
var PrepareCommands: Boolean { get{} set{} }
// .NET Framework
@DefaultValue(true)
var PrepareCommands: Boolean { get{} set{} }

 

// .NET Core, .NET Standard
Property PrepareCommands() As Boolean
// .NET Framework
<DefaultValue(true)>
Property PrepareCommands() As Boolean

ReferencedDataTable

 

property ReferencedDataTable: String read write;

 

// .NET Core, .NET Standard
String ReferencedDataTable { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String ReferencedDataTable { get; set; }

 

// .NET Core, .NET Standard
var ReferencedDataTable: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var ReferencedDataTable: String { get{} set{} }

 

// .NET Core, .NET Standard
Property ReferencedDataTable() As String
// .NET Framework
<DefaultValue(\"\")>
Property ReferencedDataTable() As String

RefreshDataTableName

Identifies the name of the Schema data table to be used to re-read the values of a row after it has been inserted or updated.

 

property RefreshDataTableName: String read write;

 

// .NET Core, .NET Standard
String RefreshDataTableName { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String RefreshDataTableName { get; set; }

 

// .NET Core, .NET Standard
var RefreshDataTableName: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var RefreshDataTableName: String { get{} set{} }

 

// .NET Core, .NET Standard
Property RefreshDataTableName() As String
// .NET Framework
<DefaultValue(\"\")>
Property RefreshDataTableName() As String

ServiceEvents

 

property ServiceEvents: IDataAbstractServiceEvents read write;

 

IDataAbstractServiceEvents ServiceEvents { get; set; }

 

var ServiceEvents: IDataAbstractServiceEvents { get{} set{} }

 

Property ServiceEvents() As IDataAbstractServiceEvents

UpdateCommandName

Identifies the name of the Schema command to be be executed when applying the updates of a delta.

 

property UpdateCommandName: String read write;

 

// .NET Core, .NET Standard
String UpdateCommandName { get; set; }
// .NET Framework
[DefaultValue(\"\")]
String UpdateCommandName { get; set; }

 

// .NET Core, .NET Standard
var UpdateCommandName: String { get{} set{} }
// .NET Framework
@DefaultValue(\"\")
var UpdateCommandName: String { get{} set{} }

 

// .NET Core, .NET Standard
Property UpdateCommandName() As String
// .NET Framework
<DefaultValue(\"\")>
Property UpdateCommandName() As String

UpdateMode

Specifies how to locate records that are going to be affected by a delta change.

 

// .NET Core, .NET Standard
property UpdateMode: UpdateMode read write;
// .NET Framework
[DefaultValue(UpdateMode.WhereKeyOnly)]
property UpdateMode: UpdateMode read write;

 

// .NET Core, .NET Standard
UpdateMode UpdateMode { get; set; }
// .NET Framework
[DefaultValue(UpdateMode.WhereKeyOnly)]
UpdateMode UpdateMode { get; set; }

 

// .NET Core, .NET Standard
var UpdateMode: UpdateMode { get{} set{} }
// .NET Framework
@DefaultValue(UpdateMode.WhereKeyOnly)
var UpdateMode: UpdateMode { get{} set{} }

 

// .NET Core, .NET Standard
Property UpdateMode() As UpdateMode
// .NET Framework
<DefaultValue(UpdateMode.WhereKeyOnly)>
Property UpdateMode() As UpdateMode

 

constructor

Creates a new instance of the BusinessProcessor class.

 

constructor

 

BusinessProcessor()

 

init()

 

Sub New()

constructor (IContainer)

Creates a new instance of the BusinessProcessor class and adds it to the provided components container.

 

constructor(container: IContainer)

 

BusinessProcessor(IContainer container)

 

init(_ container: IContainer)

 

Sub New(container As IContainer)

Parameters:

  • container: Components container

AssignChangeValuesToCommand  protected

Sets the command parameters values. Source values are taken from the provided DeltaChange instance.

 

method AssignChangeValuesToCommand(connection: IAbstractConnection; command: IDbCommand; mappings: ParamMappingCollection; delta: DeltaChange)

 

void AssignChangeValuesToCommand(IAbstractConnection connection, IDbCommand command, ParamMappingCollection mappings, DeltaChange delta)

 

func AssignChangeValuesToCommand(_ connection: IAbstractConnection, _ command: IDbCommand, _ mappings: ParamMappingCollection, _ delta: DeltaChange)

 

Sub AssignChangeValuesToCommand(connection As IAbstractConnection, command As IDbCommand, mappings As ParamMappingCollection, delta As DeltaChange)

Parameters:

  • connection: Database connection
  • command: Database command
  • mappings: Parameter mapping
  • delta: DeltaChange instance that will provide parameter values

CreateParameterMappings  protected

 

method CreateParameterMappings(connection: IAbstractConnection; table: SchemaDataTable; command: IDbCommand; parameters: SchemaParameterCollection; delta: Delta; fields: SchemaColumnMappingCollection): ParamMappingCollection

 

ParamMappingCollection CreateParameterMappings(IAbstractConnection connection, SchemaDataTable table, IDbCommand command, SchemaParameterCollection parameters, Delta delta, SchemaColumnMappingCollection fields)

 

func CreateParameterMappings(_ connection: IAbstractConnection, _ table: SchemaDataTable, _ command: IDbCommand, _ parameters: SchemaParameterCollection, _ delta: Delta, _ fields: SchemaColumnMappingCollection) -> ParamMappingCollection

 

Function CreateParameterMappings(connection As IAbstractConnection, table As SchemaDataTable, command As IDbCommand, parameters As SchemaParameterCollection, delta As Delta, fields As SchemaColumnMappingCollection) As ParamMappingCollection

Parameters:

  • connection:
  • table:
  • command:
  • parameters:
  • delta:
  • fields:

CreateRefreshCommand  protected

 

method CreateRefreshCommand(connection: IAbstractConnection; table: SchemaDataTable; updateMode: UpdateMode; fields: array of String; out parameters: SchemaParameterCollection): IDbCommand

 

IDbCommand CreateRefreshCommand(IAbstractConnection connection, SchemaDataTable table, UpdateMode updateMode, String[] fields, out SchemaParameterCollection parameters)

 

func CreateRefreshCommand(_ connection: IAbstractConnection, _ table: SchemaDataTable, _ updateMode: UpdateMode, _ fields: String..., _ parameters: inout SchemaParameterCollection) -> IDbCommand

 

Function CreateRefreshCommand(connection As IAbstractConnection, table As SchemaDataTable, updateMode As UpdateMode, fields As String(), <OutAttribute> ByRef parameters As SchemaParameterCollection) As IDbCommand

Parameters:

  • connection:
  • table:
  • updateMode:
  • fields:
  • parameters:

CreateUpdateCommand  protected

 

method CreateUpdateCommand(connection: IAbstractConnection; table: SchemaDataTable; changeType: ChangeType; change: DeltaChange; updateMode: UpdateMode; columnMapping: SchemaColumnMappingCollection; out parameters: SchemaParameterCollection): IDbCommand

 

IDbCommand CreateUpdateCommand(IAbstractConnection connection, SchemaDataTable table, ChangeType changeType, DeltaChange change, UpdateMode updateMode, SchemaColumnMappingCollection columnMapping, out SchemaParameterCollection parameters)

 

func CreateUpdateCommand(_ connection: IAbstractConnection, _ table: SchemaDataTable, _ changeType: ChangeType, _ change: DeltaChange, _ updateMode: UpdateMode, _ columnMapping: SchemaColumnMappingCollection, _ parameters: inout SchemaParameterCollection) -> IDbCommand

 

Function CreateUpdateCommand(connection As IAbstractConnection, table As SchemaDataTable, changeType As ChangeType, change As DeltaChange, updateMode As UpdateMode, columnMapping As SchemaColumnMappingCollection, <OutAttribute> ByRef parameters As SchemaParameterCollection) As IDbCommand

Parameters:

  • connection:
  • table:
  • changeType:
  • change:
  • updateMode:
  • columnMapping:
  • parameters:

ProcessDelta

Performs the processing of the passed delta and applies the changes to the database.

 

method ProcessDelta(connection: IAbstractConnection; schema: ServiceSchema; delta: Delta; allowInsert: Boolean; allowUpdate: Boolean; allowDelete: Boolean)

 

void ProcessDelta(IAbstractConnection connection, ServiceSchema schema, Delta delta, Boolean allowInsert, Boolean allowUpdate, Boolean allowDelete)

 

func ProcessDelta(_ connection: IAbstractConnection, _ schema: ServiceSchema, _ delta: Delta, _ allowInsert: Boolean, _ allowUpdate: Boolean, _ allowDelete: Boolean)

 

Sub ProcessDelta(connection As IAbstractConnection, schema As ServiceSchema, delta As Delta, allowInsert As Boolean, allowUpdate As Boolean, allowDelete As Boolean)

Parameters:

  • connection:
  • schema:
  • delta:
  • allowInsert:
  • allowUpdate:
  • allowDelete:

TriggerAfterExecuteCommand  protected

 

method TriggerAfterExecuteCommand(e: ExecuteCommandArgs)

 

void TriggerAfterExecuteCommand(ExecuteCommandArgs e)

 

func TriggerAfterExecuteCommand(_ e: ExecuteCommandArgs)

 

Sub TriggerAfterExecuteCommand(e As ExecuteCommandArgs)

Parameters:

  • e:

TriggerAfterProcessChange  protected

 

method TriggerAfterProcessChange(e: DeltaChangeEventArgs)

 

void TriggerAfterProcessChange(DeltaChangeEventArgs e)

 

func TriggerAfterProcessChange(_ e: DeltaChangeEventArgs)

 

Sub TriggerAfterProcessChange(e As DeltaChangeEventArgs)

Parameters:

  • e:

TriggerAfterProcessDelta  protected

 

method TriggerAfterProcessDelta(e: DeltaEventArgs)

 

void TriggerAfterProcessDelta(DeltaEventArgs e)

 

func TriggerAfterProcessDelta(_ e: DeltaEventArgs)

 

Sub TriggerAfterProcessDelta(e As DeltaEventArgs)

Parameters:

  • e:

TriggerAfterSqlGeneration  protected

 

method TriggerAfterSqlGeneration(e: SqlGenerationEventArgs)

 

void TriggerAfterSqlGeneration(SqlGenerationEventArgs e)

 

func TriggerAfterSqlGeneration(_ e: SqlGenerationEventArgs)

 

Sub TriggerAfterSqlGeneration(e As SqlGenerationEventArgs)

Parameters:

  • e:

TriggerBeforeExecuteCommand  protected

 

method TriggerBeforeExecuteCommand(e: ExecuteCommandArgs)

 

void TriggerBeforeExecuteCommand(ExecuteCommandArgs e)

 

func TriggerBeforeExecuteCommand(_ e: ExecuteCommandArgs)

 

Sub TriggerBeforeExecuteCommand(e As ExecuteCommandArgs)

Parameters:

  • e:

TriggerBeforeProcessChange  protected

 

method TriggerBeforeProcessChange(e: DeltaChangeEventArgs)

 

void TriggerBeforeProcessChange(DeltaChangeEventArgs e)

 

func TriggerBeforeProcessChange(_ e: DeltaChangeEventArgs)

 

Sub TriggerBeforeProcessChange(e As DeltaChangeEventArgs)

Parameters:

  • e:

TriggerBeforeProcessDelta  protected

 

method TriggerBeforeProcessDelta(e: DeltaEventArgs)

 

void TriggerBeforeProcessDelta(DeltaEventArgs e)

 

func TriggerBeforeProcessDelta(_ e: DeltaEventArgs)

 

Sub TriggerBeforeProcessDelta(e As DeltaEventArgs)

Parameters:

  • e:

TriggerProcessError  protected

 

method TriggerProcessError(e: DeltaChangeErrorEventArgs)

 

void TriggerProcessError(DeltaChangeErrorEventArgs e)

 

func TriggerProcessError(_ e: DeltaChangeErrorEventArgs)

 

Sub TriggerProcessError(e As DeltaChangeErrorEventArgs)

Parameters:

  • e:

TriggerValidateDataTableAccess  protected

 

method TriggerValidateDataTableAccess(e: ValidateSchemaObjectAccessEventArgs)

 

void TriggerValidateDataTableAccess(ValidateSchemaObjectAccessEventArgs e)

 

func TriggerValidateDataTableAccess(_ e: ValidateSchemaObjectAccessEventArgs)

 

Sub TriggerValidateDataTableAccess(e As ValidateSchemaObjectAccessEventArgs)

Parameters:

  • e:

 

AfterExecuteCommand

Fires after a command was executed.

 

event AfterExecuteCommand: ExecuteCommandHandler
delegate: method AfterExecuteCommand(sender: BusinessProcessor; e: ExecuteCommandArgs)

 

delegate ExecuteCommandHandler AfterExecuteCommand()
delegate: void AfterExecuteCommand(BusinessProcessor sender, ExecuteCommandArgs e)

 

__event ExecuteCommandHandler: AfterExecuteCommand!
delegate: func AfterExecuteCommand(_ sender: BusinessProcessor, _ e: ExecuteCommandArgs)

 

Event AfterExecuteCommand As ExecuteCommandHandler
delegate: Sub AfterExecuteCommand(sender As BusinessProcessor, e As ExecuteCommandArgs)

AfterProcessChange

Occurs after a delta change has been successfully processed. A common use of this event could be to store information about the updates in a log table.

 

event AfterProcessChange: EventHandler<DeltaChangeEventArgs>

 

delegate EventHandler<DeltaChangeEventArgs> AfterProcessChange()

 

__event EventHandler<DeltaChangeEventArgs>: AfterProcessChange!

 

Event AfterProcessChange As EventHandler<DeltaChangeEventArgs>

AfterProcessDelta

Occurs after a complete delta has been processed. A common use of this event could be to store information about the updates in a log table.

 

event AfterProcessDelta: EventHandler<DeltaEventArgs>

 

delegate EventHandler<DeltaEventArgs> AfterProcessDelta()

 

__event EventHandler<DeltaEventArgs>: AfterProcessDelta!

 

Event AfterProcessDelta As EventHandler<DeltaEventArgs>

AfterSqlGeneration

Occurs after the business processor auto generates the SQL text used to process a specific type of change (insert, delete or update). The parameters in the event arguments provide you with all the information you need to understand what type of SQL is being generated and, by modifying the SQLStatement property, allow you to replace the auto generated SQL. A common use of this event could be to track the SQL being executed and log it in a text file for debugging purposes.

 

event AfterSqlGeneration: SqlGenerationEventHandler
delegate: method AfterSqlGeneration(sender: BusinessProcessor; e: SqlGenerationEventArgs)

 

delegate SqlGenerationEventHandler AfterSqlGeneration()
delegate: void AfterSqlGeneration(BusinessProcessor sender, SqlGenerationEventArgs e)

 

__event SqlGenerationEventHandler: AfterSqlGeneration!
delegate: func AfterSqlGeneration(_ sender: BusinessProcessor, _ e: SqlGenerationEventArgs)

 

Event AfterSqlGeneration As SqlGenerationEventHandler
delegate: Sub AfterSqlGeneration(sender As BusinessProcessor, e As SqlGenerationEventArgs)

BeforeExecuteCommand

 

event BeforeExecuteCommand: ExecuteCommandHandler
delegate: method BeforeExecuteCommand(sender: BusinessProcessor; e: ExecuteCommandArgs)

 

delegate ExecuteCommandHandler BeforeExecuteCommand()
delegate: void BeforeExecuteCommand(BusinessProcessor sender, ExecuteCommandArgs e)

 

__event ExecuteCommandHandler: BeforeExecuteCommand!
delegate: func BeforeExecuteCommand(_ sender: BusinessProcessor, _ e: ExecuteCommandArgs)

 

Event BeforeExecuteCommand As ExecuteCommandHandler
delegate: Sub BeforeExecuteCommand(sender As BusinessProcessor, e As ExecuteCommandArgs)

BeforeGetTableData

 

event BeforeGetTableData: BeforeGetTableDataEventHandler
delegate: method BeforeGetTableData(sender: BusinessProcessor; e: BeforeGetTableDataEventArgs)

 

delegate BeforeGetTableDataEventHandler BeforeGetTableData()
delegate: void BeforeGetTableData(BusinessProcessor sender, BeforeGetTableDataEventArgs e)

 

__event BeforeGetTableDataEventHandler: BeforeGetTableData!
delegate: func BeforeGetTableData(_ sender: BusinessProcessor, _ e: BeforeGetTableDataEventArgs)

 

Event BeforeGetTableData As BeforeGetTableDataEventHandler
delegate: Sub BeforeGetTableData(sender As BusinessProcessor, e As BeforeGetTableDataEventArgs)

BeforeProcessChange

Occurs before a delta change is about to be processed. A common use of this event could be to abort an update if the user sending the delta doesn't have enough privileges to do so. To abort the processing of a delta change, simply fire an exception in this event handler.

 

event BeforeProcessChange: EventHandler<DeltaChangeEventArgs>

 

delegate EventHandler<DeltaChangeEventArgs> BeforeProcessChange()

 

__event EventHandler<DeltaChangeEventArgs>: BeforeProcessChange!

 

Event BeforeProcessChange As EventHandler<DeltaChangeEventArgs>

BeforeProcessDelta

Occurs before a delta is about to be processed. A common use of this event could be to log information about the delta in a log table or to forbid a specific user to modify the data table referenced by the ReferencedDataTable property.

 

event BeforeProcessDelta: EventHandler<DeltaEventArgs>

 

delegate EventHandler<DeltaEventArgs> BeforeProcessDelta()

 

__event EventHandler<DeltaEventArgs>: BeforeProcessDelta!

 

Event BeforeProcessDelta As EventHandler<DeltaEventArgs>

ProcessError

Occurs anytime a delta change processing fails. The event arguments of this event contain information about the exception being raised and provide the opportunity to halt the whole delta processing or ignore it and continue.

 

event ProcessError: EventHandler<DeltaChangeErrorEventArgs>

 

delegate EventHandler<DeltaChangeErrorEventArgs> ProcessError()

 

__event EventHandler<DeltaChangeErrorEventArgs>: ProcessError!

 

Event ProcessError As EventHandler<DeltaChangeErrorEventArgs>