5 messaggi dal 21 novembre 2007
Ciao a tutti,
ho letto l'articolo riguardante le Custom Activity per WorkFlow http://www.winfxitalia.com/articoli/workflow-foundation/dependency-properties-custom-activities.aspx , ma mi sono rimasti alcuni dubbi...

Il mio problema è questo:
sono riuscito a creare una custom activity, e sono riuscito anche ad effettuare il passaggio di dependency property, sia con SharePointDesigner che con VisualStudio;
quello che vorrei fare ora è passare all'activity delle variabili di flusso(per intenderci da SPD durante la creazione di un flusso: Variabili...>Aggiungi>nome e tipo) ma non sono riuscito a capire come... (l'activity deve girare dentro sharepoint)

spero che qualcuno possa aiutarmi...

ciao e grazie a tutti.
Modificato da luca.kenny il 21 novembre 2007 12.29 -

Luca.Kenny
Ciao,
scusa il ritardo nella risposta.
Se non sbaglio quei parametri, sono un dictionary che vengono poi passati al metodo WorkflowRuntime.CreateWorkflow. Ogni chiave viene cercata come proprietà sul workflow stesso e impostata tramite reflection.
Quindi il tuo SequentialWorkflow deve definire delle proprietà col nome uguale ai parametri e questi verranno poi valorizzati.
Dalla tua custom activity puoi leggere questi valori semplicemente cercando l'activity radice che è SequentialWorkflow appunto (interrogando Parent finché non è nullo), fai il cast sulla tua classe e interroghi le proprietà

Ciao

Il mio blog
Homepage
5 messaggi dal 21 novembre 2007
Grazie della risposta... ora il mio stato è questo:

Attualmente sono riuscito a recuperare, il tipo ed il nome delle variabili recuperando il workflow (prendendo il Parent fino a quando non è null) e poi faccio il cast dell'ultima attività padre con RootWorkflowActivityWithData, in questo modo riesco a riprendere WorkflowDataField che ha come proprietà Name e Type, a questo punto mi servirebbe una proprietà di tipo value...

Luca.Kenny
Se sono tipi semplici puoi usare Convert.ChangeType

Ciao

Il mio blog
Homepage
5 messaggi dal 21 novembre 2007
Se chiamo Convert.ChangeType di un elemento di tipo WorkflowDataField mi da Object must implement IConvertible.
quindi o non sono i WorkflowDataField i contenitori delle variabili oppure sto sbagliando io.

Luca.Kenny
Petta petta. WorkflowDataField è un tuo tipo esposto da una proprietà definita sul workflow?
Se hai Name e Type, il valore serializzato in qualche modo, dove sta?

Ciao

Il mio blog
Homepage
5 messaggi dal 21 novembre 2007
Ricciolo ha scritto:
Petta petta. WorkflowDataField è un tuo tipo esposto da una proprietà definita sul workflow?

WorkflowDataField è un tipo definito in RootWorkflowActivityWithData ed entrambi sono tipi standard dei workFlow...

Se hai Name e Type, il valore serializzato in qualche modo, dove sta?

ho provato a fare il Reflector ma non sono riuscito a trovare niente...

Luca.Kenny
Ah cavolo, è di sharepoint, ma WorkflowDataField rappresenta il campo ma non contiene il valore.
Il tuo workflow dovrebbe essere di tipo RootWorkflowActivityWithData e avere una proprietà WorkflowFields e avere inoltre definiti già i fields __initParams, __context, __item e __list. Confermi?

Ciao

Il mio blog
Homepage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.