/*----------------------------------------------------*/ protected void WfTaskOutcome_SetRelatedDataObjectArgValues(cDataObject aNewWfTaskAssgDataObject, XmlNode aArgNode) { Object aDataValue = null; bool SetDataValue = false; XmlAttribute aAttr = aArgNode.Attributes["Value"]; if (aAttr == null) { aAttr = aArgNode.OwnerDocument.CreateAttribute("Value"); aArgNode.Attributes.Append(aAttr); } switch (cXMLDoc.AttributeToString(aArgNode, "Type")) { case "": case "Data": //Do nothing break; case "NewWfTaskAssignment": if (aNewWfTaskAssgDataObject != null) aDataValue = aNewWfTaskAssgDataObject.GetRelatedPropertyValue(cXMLDoc.AttributeToString(aArgNode, "TypeKey")); SetDataValue = true; break; case "SubmittedWfTaskAssignment": aDataValue = this.GetRelatedPropertyValue(cXMLDoc.AttributeToString(aArgNode, "TypeKey")); SetDataValue = true; break; case "NewWfTACollection": cDataObject aWfTA = (cDataObject) NewWfTACollection[cXMLDoc.AttributeToString(aArgNode, "TypeKey")]; aDataValue = aWfTA.GetPropertyValue(cXMLDoc.AttributeToString(aArgNode, "DataObjectPropertyKey")); SetDataValue = true; break; case "RelatedDataObjectCollection": aWfTA = (cDataObject) RelatedDataObjectCollection[cXMLDoc.AttributeToString(aArgNode, "TypeKey")]; aDataValue = aWfTA.GetPropertyValue(cXMLDoc.AttributeToString(aArgNode, "DataObjectPropertyKey")); SetDataValue = true; break; } if (SetDataValue) { if (aDataValue == System.DBNull.Value || aDataValue == null) { cXMLDoc.AddAttribute_ToNode(aArgNode, "Null", "True"); } else { cXMLDoc.AddAttribute_ToNode(aArgNode, "Null", "False"); aAttr.Value = aDataValue.ToString(); } } }
/*-----------------------------------------------------*/ public void HideInactiveLookupValues(XmlNode aControlNode, XmlNode aFilterNode, string aDefinitionKey, bool aHideInactiveItems) { XmlNode aOldFilters = null; XmlNode aNewFilters = null; String aBaseDataType = cXMLDoc.AttributeToString(aControlNode, "DataObjectDefinitionKey", aDefinitionKey); if (aHideInactiveItems && aBaseDataType != "") { XmlNode aBaseObjDefNode = WebSession.DataObjectFactory.DataDefinitionDoc.DocElement.SelectSingleNode("DataObjectDefinitions/Definition[@Key='" + aBaseDataType + "']"); XmlNode aPropKeyNode = cXMLDoc.FindNode(aBaseObjDefNode, "Properties/Property", "Key", "EndDate"); cDataObject aCodeTableDO = WebSession.DataObjectFactory.GetDataObjectListWithFilter("IDGen", "TableName", cXMLDoc.AttributeToString(aBaseObjDefNode, "RowSource", "IDGen"))[0]; bool aCodeTable = false; if (aCodeTableDO != null) { if (aCodeTableDO.GetPropertyValue("IsCodeTable") != System.DBNull.Value) { aCodeTable = aCodeTableDO.GetPropertyBool("IsCodeTable"); } } if (aPropKeyNode != null && aCodeTable) { cXMLDoc aXmlDoc = new cXMLDoc(); aXmlDoc.LoadFromXML(aControlNode.OuterXml); if (aFilterNode == null) { aFilterNode = aXmlDoc.XMLDocument.CreateNode(XmlNodeType.Element, "Filters", ""); aXmlDoc.DocElement.AppendChild(aFilterNode); aFilterNode.AppendChild(WebSession.DataObjectFactory.CreateGroupArgumentNode(aXmlDoc, "(", "")); } else { aOldFilters = aControlNode.SelectSingleNode("Filters"); aFilterNode = aXmlDoc.DocElement.SelectSingleNode("Filters"); aFilterNode.AppendChild(WebSession.DataObjectFactory.CreateGroupArgumentNode(aXmlDoc, "(")); } aFilterNode.AppendChild(WebSession.DataObjectFactory.CreateArgumentNode(aXmlDoc, "CurrentDateTime", "EndDate", "", "", "GreaterThan")); aFilterNode.AppendChild(WebSession.DataObjectFactory.CreateArgumentNode(aXmlDoc, "", "EndDate", "", "Or")); aFilterNode.AppendChild(WebSession.DataObjectFactory.CreateGroupArgumentNode(aXmlDoc, ")", "")); if (aOldFilters != null) { aControlNode.RemoveChild(aOldFilters); } aNewFilters = aControlNode.OwnerDocument.CreateNode(XmlNodeType.Element, "Filters", ""); aNewFilters.InnerXml = aFilterNode.InnerXml; aControlNode.AppendChild(aNewFilters); } } }