protected void btnAdd_Click(object sender, EventArgs e) { string[] RuleDetail = GetRuleDetail(); try { DbHelper.GetInstance().ExecSqlText(string.Format(" select {0} from Workflow_FormDetail where RequestID=0", RuleDetail[0])); } catch { ScriptManager.RegisterStartupScript(btnAdd, this.GetType(), "add", "alert('赋值表达式不正确,无法添加');", true); return; } Workflow_FormDetailRuleEntity _FormDetailRuleEntity = new Workflow_FormDetailRuleEntity(); _FormDetailRuleEntity.FormID = DNTRequest.GetInt("fid", 0); _FormDetailRuleEntity.GroupID = DNTRequest.GetInt("gid", 0); _FormDetailRuleEntity.RuleType = 2; _FormDetailRuleEntity.FiledIDTo = Convert.ToInt32(ddlFieldIDTo.SelectedValue); _FormDetailRuleEntity.RuleDetail = RuleDetail[0]; DataTable dtComputeRoute = (DataTable)ViewState["dtComputeRoute"]; DbHelper.GetInstance().AddWorkflow_FormDetailRule(_FormDetailRuleEntity, dtComputeRoute); dtComputeRoute.Rows.Clear(); lblExpression.Text = ""; BindGridView(); System.Web.UI.ScriptManager.RegisterStartupScript(btnAdd, this.GetType(), "ButtonHideScript", strButtonHideScript, false); }
/// <summary> /// 新增信息 /// </summary> /// <param name="_Workflow_FormDetailRuleEntity"></param> /// <param name="dtComputeRoute"></param> /// <returns>返回string "-1"表示该已经存在,否则成功 </returns> public string AddWorkflow_FormDetailRule(Workflow_FormDetailRuleEntity _Workflow_FormDetailRuleEntity, DataTable dtComputeRoute) { //判断该记录是否已经存在 DbParameter[] prams = { MakeInParam("@FormID",(DbType)SqlDbType.Int,4,_Workflow_FormDetailRuleEntity.FormID ), MakeInParam("@GroupID",(DbType)SqlDbType.Int,4,_Workflow_FormDetailRuleEntity.GroupID ), MakeInParam("@FieldIDTo",(DbType)SqlDbType.Int,4,_Workflow_FormDetailRuleEntity.FiledIDTo ), }; string sql = " select * from [dbo].[Workflow_FormDetailRule] where FormID=@FormID and GroupID=@GroupID and FieldIDTo=@FieldIDTo "; if (ExecuteDataset(CommandType.Text, sql, prams).Tables[0].Rows.Count > 0) { return "-1";//该记录已经存在 } else { DbParameter[] pramsInsert = { MakeInParam("@FormID",(DbType)SqlDbType.Int,4,_Workflow_FormDetailRuleEntity.FormID ), MakeInParam("@GroupID",(DbType)SqlDbType.Int,4,_Workflow_FormDetailRuleEntity.GroupID ), MakeInParam("@FieldIDTo",(DbType)SqlDbType.Int,4,_Workflow_FormDetailRuleEntity.FiledIDTo ), MakeInParam("@RuleDetail",(DbType)SqlDbType.VarChar,2000,_Workflow_FormDetailRuleEntity.RuleDetail ), MakeInParam("@RuleType",(DbType)SqlDbType.Int,4,_Workflow_FormDetailRuleEntity.RuleType ), }; StringBuilder sb = new StringBuilder(); sb.Append("INSERT INTO [dbo].[Workflow_FormDetailRule]"); sb.Append("("); sb.Append(" [FormID]"); sb.Append(",[GroupID]"); sb.Append(",[FieldIDTo]"); sb.Append(",[RuleDetail]"); sb.Append(",[RuleType]"); sb.Append(") "); sb.Append(" VALUES ("); sb.Append("@FormID,"); sb.Append("@GroupID,"); sb.Append("@FieldIDTo,"); sb.Append("@RuleDetail,"); sb.Append("@RuleType ) "); sb.Append("select @@identity;"); string RuleID = ExecuteScalar(CommandType.Text, sb.ToString(), pramsInsert).ToString(); for (int i = 0; i < dtComputeRoute.Rows.Count; i++) { DbParameter[] pramsRouteInsert = { MakeInParam("@RuleID",(DbType)SqlDbType.Int,4,RuleID ), MakeInParam("@ComputeType",(DbType)SqlDbType.Int,4,dtComputeRoute.Rows[i]["ComputeType"] ), MakeInParam("@RouteValue",(DbType)SqlDbType.VarChar,50,dtComputeRoute.Rows[i]["RouteValue"] ), MakeInParam("@RouteOrder",(DbType)SqlDbType.Int,4,dtComputeRoute.Rows[i]["RouteOrder"] ), }; string sqlInsert = @" insert into Workflow_ComputeRoute(RuleID,ComputeType,RouteValue,RouteOrder) values (@RuleID,@ComputeType,@RouteValue,@RouteOrder) "; ExecuteScalar(CommandType.Text, sqlInsert, pramsRouteInsert); } UpdateWorkflow_FormDetailRule4Calculate(RuleID); return "0"; } }