介紹一下Workflow一個不常用到的事件---Path Method
Path Method分為Previous和Post,其this物件皆為Activity,可利用上一篇的做法取得表單物件,但什麼時候會用到這兩個事件呢?
一般來說,我經常會直覺地將Method寫進Workflow OnActivate中,也就是當節點被啟動的時候進行驗證檢查,OnClose時可以新增或修改資料。
以上的情境通常是單一Path的狀況,若是像下圖這樣呢?
在使用者簽審時,可能會具有兩種簽審動作,最後會指向同一工作節點,但是在工作節點啟動的事件時,並無法曉得從哪一條路走過來的。
如果需要寫一支程式判斷使用者簽審動作,要做不同的內容檢查,一種是放在OnVote事件寫在一起,另一種就是把邏輯拆分兩半放在Path上。
當Workflow OnVote時,代表送出簽審的動作,此時紀錄Path的名稱,因此可以用下列方式讀取
if(this.getProperty("name","")=="Creator"){
......
}
else
if(this.getProperty("name","")=="EG"){
//選擇Path
if(this.getProperty("Path","")=="to Complete"){
......
}else if(this.getProperty("Path","")=="to Reject"){
......
}
}