Ritorna alla Home Page della Biblioteca di Microsoft .NET

Paginazione :   1 2 3 4 5 6 7 [8] 9 10 

 

 

 

Effettuate quanto descritto in precedenza per tutte le attività di tipo CallExternalMethod esclusa l’attività StartWorking che analizzeremo in seguito.

Accediamo ora alle due attività di tipo HandleExternalEvent.

 

 

Specifichiamo nel campo InterfaceType l’interfaccia così come descritto per le attività di CallExternalMethod

Una volta definita l’interfaccia all’interno delle proprietà della HandleExternalEvent effettuiamo un doppio click sull’attività Validate, verrà automaticamente generata una Sub Routine all’interno della classe Workflow.

 

Inseriamo al suo interno il seguente codice.

 

 

    Private Sub Validate_Invoked(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)

        _Guid = e.InstanceId

        Dim CastWorkflowValue As WorkflowValue = CType(e, WorkflowValue)

        _ValidateState = CastWorkflowValue.ValidateState

    End Sub

 

 

Il codice riportato permetterà di impostare la GUID e effettuerà il cast da ExternalDataEventArgs a WorkflowValue.

Il Cast sarà possibile perché WorkflowValue eredita da ExternalDataEventArgs come fatto in precedenza.

 

Facciamo la stessa cosa per la HandleExternalEvent di nome Work e inseriamo il seguente codice

 

 

    Private Sub Work_Invoked(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)

        _Guid = e.InstanceId

        Dim CastWorkflowValue As WorkflowValue = CType(e, WorkflowValue)

        _WorkState = CastWorkflowValue.WorkState

    End Sub

 

 

A questo punto occorrerà andare a definire i casi di test presenti nel Workflow Validating e Working.

 

Selezionando con il mouse ValidatingOK, nelle proprietà potremmo accedere alle Condition che potranno essere di tipo Code Condition o Declarative Rule Condition.


Una Code Condition ci permetterà di andare a definire una Sub Routine tramite la quale possiamo inviare un evento ad IfElseBranchActivity di tipo Boolean.

Una Declarative Rule Condition invece ci permetterà di definire una serie di condizioni affinché venga determinato un valore Booleano.


Visto un Bug riscontrato all’interno del namespace Workflow Foundation, per variabili che utilizzano il costrutto Enumeration (verrà rilasciata la correzione del bug con la prossima service pack) definiamo la condizione di tipo Declarative Rule Condition e clicchiamo sul + presente sulla sinistra del valore selezionato.


Clicchiamo ora sul quadratino riportato sulla destra della proprietà Expression,

Verrà mostrata una maschera denominata il Rule Condition Editor come mostra l’immagine presente qua sotto.