protected void btnSave_Click(object sender, EventArgs e) { string sWorkflowTemplagteName = this.txtWorkflowTemplate.Text.Trim(); string sWorkflowType = this.ddlWorkflowType.SelectedValue; bool bEnabled = this.chkEnabled.Checked; string sDesc = this.txtDesc.Text.Trim(); string sCalcDueDateMethod = this.ddlCalcDueDateMethod.SelectedValue; bool bDefault = this.chkDefault.Checked; #region get stage data string sWflStageIDs = this.hdnWflStageIDs.Text; string sSequences = this.hdnSequences.Text; string sStageTempIDs = this.hdnStageTemplateIDs.Text; string sStageNames = this.hdnStageNames.Text; // Open$Submit$Approve string sEnableds = this.hdnEnableds.Text; string sDaysFromEstCloseDates = this.hdnDaysFromEstCloseDates.Text; string sDaysAfterCreationDates = this.hdnDaysAfterCreationDates.Text; string sRemovedStageIDs = this.hdnRemovedStageIDs.Text; #endregion Template_Workflow WorkflowTemplateManager = new Template_Workflow(); #region build stage list DataTable StageList = WorkflowTemplateManager.GetWflStageList(" and (1=0)"); if (sWflStageIDs != string.Empty) { string[] WflStageIDArray = sWflStageIDs.Split(','); string[] SequenceArray = sSequences.Split(','); string[] StageTempIDArray = sStageTempIDs.Split(','); string[] StageNameArray = sStageNames.Split(','); string[] EnabledArray = sEnableds.Split(','); string[] DaysFromEstCloseDateArray = sDaysFromEstCloseDates.Split(','); string[] DaysAfterCreationDateArray = sDaysAfterCreationDates.Split(','); for (int i = 0; i < WflStageIDArray.Length; i++) { string sWflStageID = WflStageIDArray[i]; int iWflStageID = Convert.ToInt32(sWflStageID); string sSequence = SequenceArray[i]; string sStageTempID = StageTempIDArray[i]; string sStageNameBlock = StageNameArray[i]; string sEnabled = EnabledArray[i]; string sDaysFromEstCloseDate = DaysFromEstCloseDateArray[i]; string sDaysAfterCreationDate = DaysAfterCreationDateArray[i]; #region format StageName string sStageName = sStageNameBlock.Replace("[$", string.Empty); sStageName = sStageName.Replace("$]", string.Empty); #endregion #region Get stage calcDueDateMethod BLL.Template_Wfl_Stages twsMgr = new Template_Wfl_Stages(); Model.Template_Wfl_Stages twsModel = twsMgr.GetModel(iWflStageID); string sCalcMethod = ""; if (twsModel != null) { sCalcMethod = twsModel.CalculationMethod.Value.ToString(); } int iCalcMethod = 1; //if (sCalcMethod == "" || sCalcMethod == "0") //{ // if (sCalcDueDateMethod == "Creation Date") // { // sCalcMethod = "2"; // } // else // { // sCalcMethod = "1"; // } //} if (sCalcDueDateMethod == "Est Close Date") { sCalcMethod = "1"; } else if (sCalcDueDateMethod == "Creation Date") { sCalcMethod = "2"; } else { sCalcMethod = "3"; } iCalcMethod = int.Parse(sCalcMethod); #endregion #region add rows DataRow StageRow = StageList.NewRow(); StageRow["WflStageId"] = iWflStageID; StageRow["WflTemplId"] = this.iWorkflowTemplateID; StageRow["Name"] = sStageName; StageRow["SequenceNumber"] = Convert.ToInt16(sSequence); StageRow["Enabled"] = Convert.ToBoolean(sEnabled); //if (iCalcMethod == 1) //{ if (sDaysFromEstCloseDate == "null") { StageRow["DaysFromEstClose"] = DBNull.Value; } else { StageRow["DaysFromEstClose"] = Convert.ToInt16(sDaysFromEstCloseDate); } //StageRow["DaysFromCreation"] = DBNull.Value; StageRow["CalculationMethod"] = iCalcMethod; //} //else //{ //StageRow["DaysFromEstClose"] = DBNull.Value; if (sDaysAfterCreationDate == "null") { StageRow["DaysFromCreation"] = DBNull.Value; } else { StageRow["DaysFromCreation"] = Convert.ToInt16(sDaysAfterCreationDate); } //StageRow["CalculationMethod"] = iCalcMethod; // } StageRow["TemplStageId"] = sStageTempID; StageList.Rows.Add(StageRow); if (iWflStageID > 0) { StageRow.AcceptChanges(); StageRow.SetModified(); } #endregion } } #endregion sWorkflowType = this.gWorkflowType; // update WorkflowTemplateManager.UpdateWorkflowTemplate(this.iWorkflowTemplateID, sWorkflowTemplagteName, bEnabled, sDesc, sWorkflowType, bDefault, sCalcDueDateMethod, StageList, sRemovedStageIDs); // success this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Success", "$('#divContainer').hide();alert('Update workflow template successfully.');window.parent.location.href=window.parent.location.href;", true); }