#眉標=VS2008、SharePoint、Workflow #副標=體驗新一代整合開發環境(14) #大標=將工作流程部署至SharePoint Server 2007 #作者=文/圖 王寧疆 ===<反灰>============= private void TaskNotCompleted(object sender, ConditionalEventArgs e) { e.Result = !statusComplete; //依據此變數的內容值決定是否結束 } ================ ===<反灰>============= private string productDescription = default(String); //存訂單訂購產品變數 private string orderStatus = default(String); //訂單狀態變數 private string assignedUser = null; //訂單處理者變數 private string defaultUser = null; //預設訂單處理者變數 private bool statusComplete = false; //訂單是否已經完成變數 ================ ===<反灰>============= private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e) { this.workflowId = this.workflowProperties.WorkflowId; // workflowId內容值 this.productDescription = "Part #A123-45-6."; //產品說明 this.orderStatus = this.workflowProperties.InitiationData; //訂單狀態 this.assignedUser = this.workflowProperties.Originator; //訂單處理者 this.defaultUser = this.workflowProperties.Originator; //預設訂單處理者 } ================ ===<反灰>============= private void createTask1_MethodInvoking(object sender, EventArgs e)    { this.createTask1_TaskId1 = Guid.NewGuid(); //產生一個獨一無二的ID當做TaskId if (assignedUser != null) //如果有指定訂單的處理者 this.createTask1_TaskProperties1.AssignedTo = this.assignedUser; //填入訂單處理者 else this.createTask1_TaskProperties1.AssignedTo = this.defaultUser; //訂單交給預設的處理者 this.createTask1_TaskProperties1.Title = "New Order Request"; //工作標題 this.createTask1_TaskProperties1.Description =   "Created by Windows Workflow Foundation"; //工作說明 this.createTask1_TaskProperties1.ExtendedProperties["Status"] = "Open"; //工作狀態為Open this.createTask1_TaskProperties1.ExtendedProperties["Description"]   = this.productDescription; //填入訂購產品資訊 this.createTask1_TaskProperties1.TaskType = 0; //工作型態 } ================ ===<反灰>============= private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e) { statusComplete = this.onTaskChanged1_AfterProperties1.ExtendedProperties.ContainsValue( "已完成"); //判斷訂單修改是否已定案 } ================ ===<反灰>============= ================ ===<反灰>============= TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160" AssociationUrl="_layouts/CstWrkflIP.aspx" ================ ===<反灰>============= urn:schemas-microsoft-com:office:infopath:OrderRequestInitAssoc:-myXSD-2006-05-22T16-40-56 urn:schemas-microsoft-com:office:infopath:OrderRequestInitAssoc:-myXSD-2006-05-22T16-40-56 urn:schemas-microsoft-com:office:infopath:OrderRequestTask:-myXSD-2006-05-22T16-55-17 ================ ===<反灰>============= cd $(ProjectDir) install.bat http://localhost ================ ===<反灰>============= @echo off if .%1.==.. ( goto usage ) echo Copying the feature... echo. rd /s /q "%CommonProgramFiles%\Shared\web server extensions\12\TEMPLATE\FEATURES\SimpleOrderRequest" mkdir "%CommonProgramFiles%\Shared\web server extensions\12\TEMPLATE\FEATURES\SimpleOrderRequest" copy /Y feature.xml "%CommonProgramFiles%\Shared\web server extensions\12\TEMPLATE\FEATURES\SimpleOrderRequest\" copy /Y workflow.xml "%CommonProgramFiles%\Shared\web server extensions\12\TEMPLATE\FEATURES\SimpleOrderRequest\" xcopy /s /Y Forms\*.xsn "%programfiles%\Common Files\Shared\web server extensions\12\TEMPLATE\FEATURES\SimpleOrderRequest\Forms\" echo. echo Adding assemblies to the GAC... echo. "%programfiles%\SDKs\Windows\v6.0A\bin\gacutil.exe" -uf SimpleOrderRequest "%programfiles%\SDKs\Windows\v6.0A\bin\gacutil.exe" -if bin\Debug\SimpleOrderRequest.dll echo. echo Activating the feature... echo. pushd %programfiles%\common files\shared\web server extensions\12\bin stsadm -o deactivatefeature -filename SimpleOrderRequest\feature.xml -force -url %1 stsadm -o uninstallfeature -filename SimpleOrderRequest\feature.xml -force stsadm -o installfeature -filename SimpleOrderRequest\feature.xml stsadm -o activatefeature -filename SimpleOrderRequest\feature.xml -url %1 echo Doing an iisreset... echo. popd iisreset goto end :usage echo. echo Usage: Install ^ echo i.e. Install http://myserver echo. :end ================