protected void Page_Load(object sender, EventArgs e) { AuthenticateUser(); intProfile = Int32.Parse(Request.Cookies["profileid"].Value); oServiceEditor = new ServiceEditor(intProfile, dsnServiceEditor); oUser = new Users(intProfile, dsn); Int32.TryParse(Request.QueryString["wm"], out intWM); Int32.TryParse(Request.QueryString["serviceid"], out intService); Int32.TryParse(Request.QueryString["configid"], out intConfig); if (Request.QueryString["saved"] != null) { trSaved.Visible = true; } if (!IsPostBack) { if (intService > 0 && intConfig > 0) { DataSet ds = oServiceEditor.GetConfigs(intService, intWM, 1); foreach (DataRow dr in ds.Tables[0].Rows) { int _configid = Int32.Parse(dr["id"].ToString()); if (intConfig == _configid) { break; } TreeNode oNode = new TreeNode(); oNode.Text = dr["question"].ToString(); oNode.ToolTip = dr["question"].ToString(); oNode.Value = dr["id"].ToString(); oNode.SelectAction = TreeNodeSelectAction.None; oNode.Checked = false; oTree.Nodes.Add(oNode); if (dr["code"].ToString() == "DROPDOWN" || dr["code"].ToString() == "RADIOLIST") { DataSet dsValues = oServiceEditor.GetConfigValues(_configid); foreach (DataRow drValue in dsValues.Tables[0].Rows) { TreeNode oChild = new TreeNode(); oChild.Text = drValue["value"].ToString(); oChild.ToolTip = drValue["value"].ToString(); oChild.Value = drValue["id"].ToString(); oChild.SelectAction = TreeNodeSelectAction.None; DataSet dsResponse = oServiceEditor.GetConfigAffects(intConfig, Int32.Parse(drValue["id"].ToString())); oChild.Checked = (dsResponse.Tables[0].Rows.Count > 0); oNode.ChildNodes.Add(oChild); } } else { TreeNode oChild = new TreeNode(); oChild.Text = "<b>Unavailable.</b> Only "Drop Down List" and "Radio Button List" controls can be used for dynamic display"; oChild.Value = "0"; oChild.SelectAction = TreeNodeSelectAction.None; oChild.ShowCheckBox = false; oNode.ChildNodes.Add(oChild); } } } } }
protected void Page_Load(object sender, EventArgs e) { AuthenticateUser(); intProfile = Int32.Parse(Request.Cookies["profileid"].Value); oServiceEditor = new ServiceEditor(intProfile, dsnServiceEditor); oService = new Services(intProfile, dsn); oUser = new Users(intProfile, dsn); Int32.TryParse(Request.QueryString["id"], out intID); Int32.TryParse(Request.QueryString["serviceid"], out intService); Int32.TryParse(Request.QueryString["nextservice"], out intNextService); if (Request.QueryString["saved"] != null) { trSaved.Visible = true; } if (!IsPostBack) { if (String.IsNullOrEmpty(Request.QueryString["id"]) == false) { panCondition.Visible = true; DataSet dsConfigs = oServiceEditor.GetConfigs(intService, -1, 1); //DataSet dsConfigs = oServiceEditor.GetConfigs(intService, 0, 1); foreach (DataRow dr in dsConfigs.Tables[0].Rows) { int _configid = Int32.Parse(dr["id"].ToString()); TreeNode oNode = new TreeNode(); oNode.Text = dr["question"].ToString(); oNode.ToolTip = dr["question"].ToString(); oNode.Value = dr["id"].ToString(); oNode.SelectAction = TreeNodeSelectAction.None; oNode.Checked = false; treConditional.Nodes.Add(oNode); DataSet dsValues = oServiceEditor.GetConfigValues(_configid); //dr["code"].ToString() == "DROPDOWN" || dr["code"].ToString() == "RADIOLIST" if (dsValues.Tables[0].Rows.Count > 0) { foreach (DataRow drValue in dsValues.Tables[0].Rows) { TreeNode oChild = new TreeNode(); oChild.Text = drValue["value"].ToString(); oChild.ToolTip = drValue["value"].ToString(); oChild.Value = drValue["id"].ToString(); oChild.SelectAction = TreeNodeSelectAction.None; oChild.Checked = oServiceEditor.IsWorkflowConditionValue(intID, Int32.Parse(drValue["id"].ToString())); oNode.ChildNodes.Add(oChild); } } else { TreeNode oChild = new TreeNode(); oChild.Text = "<b>Unavailable.</b> Only "valued" controls can be used for conditional workflow"; oChild.Value = "0"; oChild.SelectAction = TreeNodeSelectAction.None; oChild.ShowCheckBox = false; oNode.ChildNodes.Add(oChild); } } if (intID > 0) { DataSet ds = oServiceEditor.GetWorkflowCondition(intID); if (ds.Tables[0].Rows.Count > 0) { txtName.Text = ds.Tables[0].Rows[0]["name"].ToString(); chkEnabled.Checked = (ds.Tables[0].Rows[0]["enabled"].ToString() == "1"); } } btnAdd.Attributes.Add("onclick", "return ValidateText('" + txtName.ClientID + "','Enter a name for this condition')" + ";"); } else if (intService > 0 && intNextService > 0) { DataSet ds = oService.GetWorkflow(intService, intNextService); if (ds.Tables[0].Rows.Count > 0) { panList.Visible = true; radConditionOnly.Checked = (ds.Tables[0].Rows[0]["only"].ToString() == "1"); radConditionUnless.Checked = (ds.Tables[0].Rows[0]["only"].ToString() == "0"); radContinueYes.Checked = (ds.Tables[0].Rows[0]["continue"].ToString() == "1"); radContinueNo.Checked = (ds.Tables[0].Rows[0]["continue"].ToString() == "0"); btnSave.Attributes.Add("onclick", "return ValidateRadioButtons3('" + radConditionOnly.ClientID + "','" + radConditionUnless.ClientID + "','" + radConditionNeither.ClientID + "','Please select your condition for initiating this workflow')" + " && ValidateRadioButtons('" + radContinueYes.ClientID + "','" + radContinueNo.ClientID + "','Please select how you want to handle subsequent workflows if this workflow is not initiated')" + ";"); rptConditions.DataSource = oServiceEditor.GetWorkflowConditions(intService, intNextService, 0); rptConditions.DataBind(); lblNone.Visible = (rptConditions.Items.Count == 0); foreach (RepeaterItem ri in rptConditions.Items) { ((LinkButton)ri.FindControl("btnDelete")).Attributes.Add("onclick", "return confirm('Are you sure you want to delete this condition set?');"); } } } if (radConditionOnly.Checked == false && radConditionUnless.Checked == false) { radConditionNeither.Checked = true; } if (radContinueNo.Checked == false && radContinueYes.Checked == false) { radContinueNo.Checked = true; } } }
protected void btnSave_Click(Object Sender, EventArgs e) { int intWM = (intWMFlag == 1 || chkWrite.Checked ? 1 : 0); if (intConfig == 0) { int intOrder = oServiceEditor.GetConfigs(intService, intWM, 0).Tables[0].Rows.Count + 1; switch (strCode.ToUpper()) { case "DATE": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, Int32.Parse(txtMinimum.Text), Int32.Parse(txtMaximum.Text), -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "TEXTBOX": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, Int32.Parse(txtLength.Text), Int32.Parse(txtWidth.Text), -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "TEXTAREA": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), Int32.Parse(txtRows.Text), -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "USERS": case "SERVERS": case "MNEMONICS": case "APPROVER": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), Int32.Parse(txtRows.Text), -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "CHECKBOX": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, -1, -1, (radCheckYes.Checked ? 1 : 0), -1, -1, txtTip.Text, 0, "", "", "", intOrder, 1); break; case "CHECKLIST": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, 1, -1, -1, -1, (radDirectionH.Checked ? 1 : 0), -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "DROPDOWN": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), 0, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "RADIOLIST": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, 1, -1, -1, -1, (radDirectionH.Checked ? 1 : 0), -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "LISTBOX": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), Int32.Parse(txtRows.Text), -1, -1, (radMultipleYes.Checked ? 1 : 0), txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "LIST": case "SERVERLIST": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, Int32.Parse(txtLength.Text), Int32.Parse(txtWidth.Text), Int32.Parse(txtRows.Text), -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "HYPERLINK": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "FILEUPLOAD": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; case "DISCLAIMER": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, -1, -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, txtURL.Text, txtText.Text, intOrder, 1); break; case "LOCATION": intConfig = oServiceEditor.AddConfig(intService, intField, intWM, txtQuestion.Text, -1, Int32.Parse(ddlLocation.SelectedItem.Value), -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", intOrder, 1); break; } } else { switch (strCode.ToUpper()) { case "DATE": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, Int32.Parse(txtMinimum.Text), Int32.Parse(txtMaximum.Text), -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "TEXTBOX": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, Int32.Parse(txtLength.Text), Int32.Parse(txtWidth.Text), -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "TEXTAREA": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), Int32.Parse(txtRows.Text), -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "USERS": case "SERVERS": case "MNEMONICS": case "APPROVER": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), Int32.Parse(txtRows.Text), -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "CHECKBOX": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, -1, -1, (radCheckYes.Checked ? 1 : 0), -1, -1, txtTip.Text, 0, "", "", "", 1); break; case "CHECKLIST": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, 1, -1, -1, -1, (radDirectionH.Checked ? 1 : 0), -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "DROPDOWN": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), 0, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "RADIOLIST": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, 1, -1, -1, -1, (radDirectionH.Checked ? 1 : 0), -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "LISTBOX": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), Int32.Parse(txtRows.Text), -1, -1, (radMultipleYes.Checked ? 1 : 0), txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "LIST": case "SERVERLIST": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, Int32.Parse(txtLength.Text), Int32.Parse(txtWidth.Text), Int32.Parse(txtRows.Text), -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "HYPERLINK": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "FILEUPLOAD": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, Int32.Parse(txtWidth.Text), -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; case "DISCLAIMER": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, -1, -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, txtURL.Text, txtText.Text, 1); break; case "LOCATION": oServiceEditor.UpdateConfig(intConfig, intWM, txtQuestion.Text, -1, Int32.Parse(ddlLocation.SelectedItem.Value), -1, -1, -1, -1, txtTip.Text, (radRequiredYes.Checked ? 1 : 0), txtRequired.Text, "", "", 1); break; } } //oServiceEditor.DeleteConfigValues(intConfig); List <int> lstValues = new List <int>(); string[] strValues = Request.Form[hdnValues.UniqueID].Split(new char[] { ';' }); DataSet dsValues = oServiceEditor.GetConfigValues(intConfig); for (int ii = 0; ii < strValues.Length; ii++) { if (strValues[ii] != "") { // Loop through the values int intValue = 0; foreach (DataRow drValue in dsValues.Tables[0].Rows) { // Try to find matching, existing value if (drValue["value"].ToString() == strValues[ii]) { intValue = Int32.Parse(drValue["id"].ToString()); break; } } if (intValue > 0) { // If match found, update with new order lstValues.Add(intValue); oServiceEditor.UpdateConfigValue(intValue, ii + 1); } else { // No match, add oServiceEditor.AddConfigValue(intConfig, strValues[ii], ii + 1); } } } // Delete the ones that were not added or selected foreach (DataRow drValue in dsValues.Tables[0].Rows) { int intValue = Int32.Parse(drValue["id"].ToString()); bool boolDelete = true; // Try to find matching, existing value foreach (int intExists in lstValues) { if (intExists == intValue) { boolDelete = false; break; } } if (boolDelete) { oServiceEditor.DeleteConfigValue(intValue); } } /* * string strValues = Request.Form[hdnValues.UniqueID]; * int intDisplay = 0; * while (strValues != "") * { * intDisplay++; * string strValue = strValues.Substring(0, strValues.IndexOf(";")); * strValues = strValues.Substring(strValues.IndexOf(";") + 1); * oServiceEditor.AddConfigValue(intConfig, strValue, intDisplay); * } */ // Check Workload Manager Flag if (intWMFlag == 0 && intWM.ToString() != chkWrite.ToolTip.ToString()) { int intDBField_Read = 0; Int32.TryParse(oServiceEditor.GetConfig(intConfig, "dbfield"), out intDBField_Read); if (intDBField_Read > 0) { // A modification was made (either add or remove) if (intWM == 1) { oServiceEditor.AddConfigWorkflowShared(intDBField_Read); } else { oServiceEditor.DeleteConfigWorkflowShared(intDBField_Read); } } } oServiceEditor.AlterTable(intService); Response.Redirect(Request.Path + "?save=true"); }
private StringBuilder LoadWorkflowForm(int _serviceid, int _previous_serviceid, int _children, bool _first) { StringBuilder strReturn = new StringBuilder(); strReturn.Append("<table width=\"350\" cellpadding=\"4\" cellspacing=\"0\" border=\"0\" style=\"border:dotted 1px #999\">"); strReturn.Append("<tr><td colspan=\"3\" class=\"box_blue header\">"); strReturn.Append(oService.GetName(_serviceid)); strReturn.Append("</td></tr>"); // From if (_first == false) { strReturn.Append("<tr><td colspan=\"3\" align=\"right\" class=\"smalldefault\">"); strReturn.Append(oService.GetName(_previous_serviceid)); strReturn.Append("</td></tr>"); } // Conditions bool boolConditional = false; DataSet dsConditions = oServiceEditor.GetWorkflowConditions(_previous_serviceid, _serviceid, 1); if (dsConditions.Tables[0].Rows.Count > 0) { boolConditional = true; if (oService.GetWorkflow(_previous_serviceid, _serviceid, "only") == "1") { strReturn.Append("<tr><td colspan=\"3\" class=\"redbold\">Initiate ONLY when:</td></tr>"); } else if (oService.GetWorkflow(_previous_serviceid, _serviceid, "only") == "0") { strReturn.Append("<tr><td colspan=\"3\" class=\"redbold\">Always initiate UNLESS:</td></tr>"); } else { boolConditional = false; } if (boolConditional) { for (int cc = 0; cc < dsConditions.Tables[0].Rows.Count; cc++) { DataSet dsConditionValues = oServiceEditor.GetWorkflowConditionValues(Int32.Parse(dsConditions.Tables[0].Rows[cc]["id"].ToString()), 0, 0); if (dsConditionValues.Tables[0].Rows.Count > 0) { if (cc > 0) { strReturn.Append("<tr><td></td><td colspan=\"2\" class=\"redbold\"> -- -- -- OR -- -- -- </td></tr>"); } strReturn.Append("<tr><td></td><td colspan=\"2\">"); for (int vv = 0; vv < dsConditionValues.Tables[0].Rows.Count; vv++) { if (vv > 0) { strReturn.Append(" <b>and</b> "); } strReturn.Append(dsConditionValues.Tables[0].Rows[vv]["question"].ToString()); strReturn.Append(" = ""); strReturn.Append(dsConditionValues.Tables[0].Rows[vv]["value"].ToString()); strReturn.Append(""<br/>"); } strReturn.Append("</td></tr>"); } } } } // Managers int intWorkflowServiceID = 0; if (Int32.TryParse(oService.Get(_serviceid, "workflow_userid"), out intWorkflowServiceID) == true && intWorkflowServiceID > 0) { strReturn.Append("<tr><td colspan=\"3\" class=\"greenbold\">" + (boolConditional ? "<br/>" : "") + "<b>Assign To (Service):</td></tr>"); strReturn.Append("<tr><td></td><td colspan=\"2\">"); strReturn.Append(oService.GetName(intWorkflowServiceID)); strReturn.Append("</td></tr>"); } else { DataSet dsTechnicians = oService.GetUser(_serviceid, 0); if (dsTechnicians.Tables[0].Rows.Count > 0) { strReturn.Append("<tr><td colspan=\"3\" class=\"greenbold\">" + (boolConditional ? "<br/>" : "") + "<b>Assign To (Technician):</td></tr>"); foreach (DataRow drTechnician in dsTechnicians.Tables[0].Rows) { strReturn.Append("<tr><td></td><td colspan=\"2\">"); strReturn.Append(oUser.GetFullName(Int32.Parse(drTechnician["userid"].ToString()))); strReturn.Append("</td></tr>"); } } else { strReturn.Append("<tr><td colspan=\"3\" class=\"greenbold\">" + (boolConditional ? "<br/>" : "") + "<b>Assign By:</td></tr>"); DataSet dsManagers = oService.GetUser(_serviceid, 1); foreach (DataRow drManager in dsManagers.Tables[0].Rows) { strReturn.Append("<tr><td></td><td colspan=\"2\">"); strReturn.Append(oUser.GetFullName(Int32.Parse(drManager["userid"].ToString()))); strReturn.Append("</td></tr>"); } } } if (_first) { DataSet dsSR = oServiceEditor.GetConfigs(_serviceid, 0, 1); // Original Request Details strReturn.Append("<tr><td colspan=\"3\"><br/><b>Service Request Questions:</b></td></tr>"); foreach (DataRow drSR in dsSR.Tables[0].Rows) { strReturn.Append("<tr><td nowrap valign=\"top\" nowrap><img src=\"/images/help.gif\" border=\"0\"/></td><td colspan=\"2\" width=\"100%\">"); strReturn.Append(drSR["question"].ToString() + "<br/>"); strReturn.Append("</td></tr>"); DataSet dsConfigs = oServiceEditor.GetConfigValues(Int32.Parse(drSR["id"].ToString())); foreach (DataRow drConfig in dsConfigs.Tables[0].Rows) { strReturn.Append("<tr><td></td><td valign=\"top\" nowrap>-</td><td width=\"100%\">"); strReturn.Append(drConfig["value"].ToString() + "<br/>"); strReturn.Append("</td></tr>"); } } } // Workload Manager DataSet dsWM = oServiceEditor.GetConfigs(_serviceid, 1, 1); DataView dvWM = dsWM.Tables[0].DefaultView; dvWM.Sort = "wm ASC"; strReturn.Append("<tr><td colspan=\"3\"><br/><b>Workload Manager Fields:</b></td></tr>"); foreach (DataRowView drWM in dvWM) { bool boolWM = (drWM["wm"].ToString() == "1"); bool boolInherited = (drWM["inherited"].ToString() == "1"); strReturn.Append("<tr>"); if (boolInherited) { strReturn.Append("<td nowrap valign=\"top\" nowrap><img src=\"/images/hand_right.gif\" border=\"0\"/></td><td colspan=\"2\" width=\"100%\">"); } else { strReturn.Append("<td nowrap valign=\"top\" nowrap><img src=\"/images/help.gif\" border=\"0\"/></td><td colspan=\"2\" width=\"100%\">"); } //strReturn.Append(boolWM ? "" : "<i>"); //strReturn.Append(boolInherited ? "<span class=\"component_unavailable\">" : ""); strReturn.Append(drWM["question"].ToString()); //strReturn.Append(boolInherited ? "</span>" : ""); //strReturn.Append(boolWM ? "" : "</i>"); strReturn.Append("</td></tr>"); DataSet dsConfigs = oServiceEditor.GetConfigValues(Int32.Parse(drWM["id"].ToString())); foreach (DataRow drConfig in dsConfigs.Tables[0].Rows) { if (boolInherited) { strReturn.Append("<tr><td></td><td valign=\"top\" nowrap>-></td><td width=\"100%\">"); } else { strReturn.Append("<tr><td></td><td valign=\"top\" nowrap>-</td><td width=\"100%\">"); } //strReturn.Append(boolInherited ? "<span class=\"component_unavailable\">" : ""); strReturn.Append(drConfig["value"].ToString() + "<br/>"); //strReturn.Append(boolInherited ? "</span>" : ""); strReturn.Append("</td></tr>"); } } strReturn.Append("</table><br/>"); return(strReturn); }