如何在asp.net mvc应用程序中使用WorkFlow?

时间:2011-10-12 10:46:40

标签: asp.net-mvc asp.net-mvc-3 workflow-foundation-4

我在asp.net mvc 3中有一个类似

的编辑销售发票页面

enter image description here

在此页面上,“保存”是正常的发布按钮,它将保存对此屏幕发票的任何更改。但是,在页面上动态呈现显示“Sumbmit for Approval”的下一个按钮,该按钮取决于销售发票的当前工作流程阶段。由于此发票处于初始阶段,这就是我们“提交审批”按钮的原因。

我想要的是在按下此按钮时执行某些工作流程活动,并且还应更新发票数据。没有工作流程,我的Post动作非常标准,看起来像

[HttpPost]
        public ActionResult editsales(EFModel.VMSale sale,string save)
        {

            EFModel.SalesRepository _salesRepository = new EFModel.SalesRepository();
            EFModel.VoucherRepository _voucherRepository = new EFModel.VoucherRepository();

            EFModel.scmSale oldSaleObj = _salesRepository.GetSaleObjBySaleID(sale.SaleID);

            if (ModelState.IsValid)
            {
                Mapper.CreateMap<EFModel.VMSaleLine, UserManagement.EFModel.scmSalesLine>();
                Mapper.CreateMap<UserManagement.EFModel.VMSale, UserManagement.EFModel.scmSale>();

                var newSaleObj = Mapper.Map<UserManagement.EFModel.VMSale, UserManagement.EFModel.scmSale>(sale);

                _salesRepository.UpdateSaleInvoice(newSaleObj, oldSaleObj);
                _salesRepository.Save();
return RedirectToAction("listinvoice");
}

我还需要从UI中引入一些与工作流相关的字段(description,forwardTo等)。此外,需要处理描述和前进到字段,并通过workFlow保存到db。目前我对如何解决这个问题感到有些迷茫。

1 个答案:

答案 0 :(得分:0)

我在msdn forum找到了答案,这使我朝着正确的方向前进。虽然我仍然在努力使其工作,但解决方案是有效的,也许只有我可以在mvc框架中找到的工作流程的详细示例。