//public string CreateFlow(string flowname) //{ // UI_WorkFlow_Entity wfe = CWFEngine.CreateAWFEntityByName(flowname); // if (wfe != null) // { // Dictionary<string, string> record = wfe.GetRecordItems(); // record["username"] = (Session["User"] as EquipModel.Entities.Person_Info).Person_Name; // record["time"] = DateTime.Now.ToString(); // return wfe.Start(record); // //Json(new { url = wfe.Start(record), wfe_id = wfe.EntityID }); // //"{url:'" + wfe.Start(record) + "', wfe_id:'" + wfe.EntityID + "'}"; // } // else // return null; //} public string CreateFlow(string flowname) { UI_WorkFlow_Entity wfe = CWFEngine.CreateAWFEntityByName(flowname); if (wfe != null) { Dictionary <string, string> record = wfe.GetRecordItems(); record["username"] = (Session["User"] as EquipModel.Entities.Person_Info).Person_Name; record["time"] = DateTime.Now.ToString(); wfe.Start(record); Dictionary <string, string> signal = new Dictionary <string, string>(); signal["currentuser"] = (Session["User"] as EquipModel.Entities.Person_Info).Person_Name; signal["start_done"] = "true"; //submit CWFEngine.SubmitSignal(wfe.EntityID, signal, record); CWorkFlow wf = new CWorkFlow(); XmlDocument doc = new XmlDocument(); doc.LoadXml(CWFEngine.GetWorkFlowEntiy(wfe.EntityID, true).Binary); wf.InstFromXmlNode(doc.DocumentElement); string returl = ""; if (wf.GetCurrentEvent().CheckAuthority <Person_Info>((Dictionary <string, object>)Session[CWFEngine.authority_params], ((IObjectContextAdapter)(new EquipWebContext())).ObjectContext)) { returl = wf.GetCurrentEvent().currentaction + "?wfe_id=" + wfe.EntityID.ToString(); //如果权限认证通过则返回正确的页面URL return(returl); //return returl; } else { //如果权限认证不通过, 则删除刚创建的工作流实体, 并返回 -1 CWFEngine.RemoveWFEntity(wfe.EntityID); return("-1"); } //Json(new { url = wfe.Start(record), wfe_id = wfe.EntityID }); //"{url:'" + wfe.Start(record) + "', wfe_id:'" + wfe.EntityID + "'}"; } else { return(null); } }