public string LoadCheckboxes(int _requestid, int _itemid, int _number, int _resourceid, int _serviceid) { ResourceRequest oResourceRequest = new ResourceRequest(user, dsn); DataSet dsWF = oResourceRequest.GetRequestService(_requestid, _serviceid, _number); bool boolDone = false; if (dsWF.Tables[0].Rows.Count > 0) { int intStatus = 0; Int32.TryParse(dsWF.Tables[0].Rows[0]["status"].ToString(), out intStatus); boolDone = (intStatus == 3 || dsWF.Tables[0].Rows[0]["completed"].ToString() != ""); } StringBuilder sbReturn = new StringBuilder(); DataSet ds = Gets(_serviceid, 0, 1); foreach (DataRow dr in ds.Tables[0].Rows) { int intID = Int32.Parse(dr["id"].ToString()); if (dr["checkbox"].ToString() == "1") { int intValue = oResourceRequest.GetDetailValue(_requestid, _itemid, _number, (oResourceRequest.GetWorkflow(_resourceid, "joined") == "1" ? 0 : _resourceid), intID); if (intValue == -1) { intValue = 0; oResourceRequest.AddDetails(_requestid, _itemid, _number, (oResourceRequest.GetWorkflow(_resourceid, "joined") == "1" ? 0 : _resourceid), intID, intValue); } sbReturn.Append("<tr><td><table id=\"chkTaskList" + _resourceid.ToString() + "\" cellpadding=\"2\" cellspacing=\"1\" border=\"0\"><tr><td valign=\"top\"><input id=\"chkDetail_"); sbReturn.Append(intID.ToString()); sbReturn.Append("\" type=\"checkbox\" name=\"chkDetail_"); sbReturn.Append(intID.ToString()); sbReturn.Append("\" onclick=\"UpdateRRCheckDetail('hdnDetail_"); sbReturn.Append(intID.ToString()); sbReturn.Append("', this);\""); sbReturn.Append(intValue == 1 || boolDone ? " checked" : ""); sbReturn.Append(" /></td><td><label for=\"chkDetail_"); sbReturn.Append(intID.ToString()); sbReturn.Append("\">"); sbReturn.Append(dr["name"].ToString()); sbReturn.Append("</label><input type=\"hidden\" name=\"hdnDetail_"); sbReturn.Append(intID.ToString()); sbReturn.Append("\" id=\"hdnDetail_"); sbReturn.Append(intID.ToString()); sbReturn.Append("\" value=\""); sbReturn.Append(intValue.ToString()); sbReturn.Append("\" /></td></tr></table></td></tr>"); } } if (sbReturn.ToString() != "") { sbReturn.Insert(0, "<table cellpadding=\"2\" cellspacing=\"1\" border=\"0\">"); sbReturn.Append("</table>"); } return(sbReturn.ToString()); }
public void UpdateCheckboxes(HttpRequest oForm, int _resourceid, int _requestid, int _itemid, int _number) { ResourceRequest oResourceRequest = new ResourceRequest(user, dsn); bool boolJoined = (oResourceRequest.GetWorkflow(_resourceid, "joined") == "1"); // First, uncheck the checkboxes. if (boolJoined) { oResourceRequest.DeleteDetails(_requestid, _itemid, _number); } else { oResourceRequest.DeleteDetails(_requestid, _itemid, _number, _resourceid); } int intParent = oResourceRequest.GetWorkflowParent(_resourceid); DataSet dsWF = oResourceRequest.GetWorkflowsParent(intParent); if (boolJoined) { foreach (DataRow drWF in dsWF.Tables[0].Rows) { oResourceRequest.DeleteWorkflowHours(Int32.Parse(drWF["id"].ToString())); oResourceRequest.UpdateWorkflowUsed(Int32.Parse(drWF["id"].ToString()), 0.00); } } else { oResourceRequest.DeleteWorkflowHours(_resourceid); oResourceRequest.UpdateWorkflowUsed(_resourceid, 0.00); } double dblQuantity = double.Parse(oResourceRequest.GetWorkflow(_resourceid, "devices")); foreach (string strForm in oForm.Form) { string strNameID = strForm; strNameID = strNameID.ToUpper(); if (strForm.StartsWith("hdnDetail_") == true) { string strValue = oForm.Form[strForm]; int intDetail = Int32.Parse(strForm.Substring(strForm.IndexOf("hdnDetail_") + 10)); oResourceRequest.AddDetails(_requestid, _itemid, _number, (boolJoined ? 0 : _resourceid), intDetail, Int32.Parse(strValue)); if (Int32.Parse(strValue) == 1) { // selected - the following function will update all JOINED values oResourceRequest.UpdateWorkflowHours(_resourceid, (double.Parse(Get(intDetail, "hours")) * dblQuantity)); } } } }