如何让代码变得更简洁

简约至上

 

completed solution matches microsoft sequential workflow tutorial

microsoft sequential workflow tutorial website:http://msdn.microsoft.com/en-us/library/ms734794(v=vs.90).aspx.

after reading this tutorial,i found three bugs:

1.the name of workflow project is the same as a class file name,both of them named "ExpenseReportWorkflow",which can cause compilction failed。

for example:

this.rejectEvent.InterfaceType = typeof(ExpenseReportWorkflow.IExpenseReportService);

please modify any of them;

2.the attribute of the interface IExpenseReportService should be ExternalDataExchangeAttribute

    [ExternalDataExchangeAttribute]
    public interface IExpenseReportService
    {
        /// <summary>
        /// host appliation implements the Methods which will be called by workflow
        /// </summary>
        /// <param name="message"></param>
        void GetLeadApproval(string message);
        void GetManagerApproval(string message);
        /// <summary>
        /// 用于通知工作流特定的事件已经发生
        /// 例如用户在界面中点击了同意按钮
        /// </summary>
        event EventHandler<ExternalDataEventArgs> ExpenseReportApproved;
        event EventHandler<ExternalDataEventArgs> ExpenseReportRejected;
    }

3.for running this demo continuously,you'd better modify the submitButton_Click method as below:

            if (properties.ContainsKey("Amount"))
            {
                //properties.Add("Amount", Int32.Parse(this.amount.Text));
                properties["Amount"] = Int32.Parse(this.amount.Text);
            }
            else
                properties.Add("Amount", Int32.Parse(this.amount.Text));
            
            Type type =typeof(ExpenseReportWorkflowProject.ExpenseReportWorkflow);
            this.workflowInstance = workflowRuntime.CreateWorkflow(type, properties);
            this.workflowInstance.Start();

finally,u can download the completed solution here

posted on 2014-01-28 17:16  我每天都在进步o(∩_∩)o...  阅读(312)  评论(0编辑  收藏  举报

导航