protected void BtnSubmit_Click(object sender, EventArgs e) { string message; Control control; RM rmMs = new RM(ResourceFile.Msg); if (string.IsNullOrEmpty(DdlStatus.SelectedValue)) return; bool b = CheckValid(out control, out message); if (!b) { Alert(message); return; } InstanceProcess process = new InstanceProcess(ApplicationId, ProcessId, InstanceId); int toStateId = Fn.ToInt(DdlStatus.SelectedValue); string remark = TxtWfRemark.Text; string operationCode = InstanceProcess.ADMINAPPROVE; int currentStateId = process.GetCurrentStateID(); //if (toStateId == currentStateId) //{ // Alert(rmMs["CheckWflState"]); // return; //} if (toStateId == InstanceState.CancelledStateID) b = process.ChangeProcessState(toStateId, operationCode, false, DBAction, remark, out message); else b = process.ChangeProcessState(toStateId, operationCode, true, DBAction, remark, out message); if (!b) Alert(message); else { string str = "window.returnValue='REFRESH';"; AttachClientEvent("SetOnLoad", "window", "onload", str); Alert(rmMs["SubmitSuccess"]); DdlStatus.Enabled = false; TxtWfRemark.ReadOnly = true; BtnSubmit.Visible = false; } }
public void SetInstanceActivityGrid() { GrdActivity.EditIndex = -1; bool isPrint = false; if (Page.Request.Path.IndexOf("Print", StringComparison.CurrentCultureIgnoreCase) > 0) { //print mode isPrint = true; } InstanceProcessTemplate instanceTemplate = new InstanceProcessTemplate(); DataSet ds = instanceTemplate.GetInstanceProcess(ApplicationID, ProcessID, InstanceID, DBSetting.MultiLanguageSuffix); InstanceProcess instprocess = new InstanceProcess(ApplicationID, ProcessID, InstanceID); CurrentStateID = instprocess.GetCurrentStateID(); InstanceState ins = new InstanceState(ApplicationID, InstanceID); RM rm = new RM(ResourceFile.Msg); //int EditIndex = -1; int assignTo = instanceTemplate.GetAssignTo(ApplicationID, InstanceID); GrdActivity.DataSource = ds; if (!isPrint) { //以下部分需要判断是否是处在用户自定义流程状态,如果是,则只允许在未定义流程管理页面进行操作 //但需要注意,如果当前状态是用户自定义流程状态,有可能被Hold了,此时在未定义流程管理页面也不允许进行流程操作, //也不需要添加指示未定义流程操作的行 if (instprocess.CheckActionPermission(CurrentUser.UserID)) { DataRow[] drs = ds.Tables[0].Select("P_Level=1"); if (drs.Length > 0) { if (Fn.ToInt(drs[0]["from_state_id"]) != CurrentStateID) { throw new Exception("State error. Please contact with administrator."); } GrdActivity.EditIndex = ds.Tables[0].Rows.IndexOf(drs[0]); //if (CurrentStateID == State.GetStateID(UserDefineProcess.RedefineStateCode)) //{ // drs[0]["Operator_name"] = rm["ToBeRedefine"]; // EditIndex = GrdActivity.EditIndex; // GrdActivity.EditIndex = -1; //} } } //if (CurrentStateID == State.GetStateID(UserDefineProcess.RedefineStateCode)) //{ // if (assignTo == 0) //刚执行了用户重定义流程操作 // { // DataRow dr = ds.Tables[0].NewRow(); // dr["Operator_name"] = rm["ToBeRedefine"]; // ds.Tables[0].Rows.Add(dr); // if (IsAdminPage) // { // GrdActivity.EditIndex = ds.Tables[0].Rows.Count - 1; // } // } // else if (assignTo > 0) // { // if (EditIndex != -1) // { // if (IsAdminPage) // { // GrdActivity.EditIndex = EditIndex; // } // } // else // { // ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["Operator_name"] = rm["ToBeRedefine"]; // } // } //} } GrdActivity.DataBind(); if (GrdActivity.EditIndex > -1) { SetOperationRadioList(); } }