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); }