/*----------------------------------------------------*/

		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();
				}
			}
		}
Exemple #2
0
/*-----------------------------------------------------*/

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