/*====================================================*/ public void DBNavElement_Load(cSQLDBConn aDBConn, String aTableName, String aParentKey, int aModuleID, int aCompetitionID) { DataSet aDS = aDBConn.FillDataSetTable("Table1", "select * from " + aTableName + " where parent_key = '" + aParentKey + "'" + " and module_id = " + aModuleID + " and competition_report_id = " + aCompetitionID + " order by sort_order"); foreach (DataRow aRow in aDS.Tables["Table1"].Rows) { cDBNavElement aNavElement = new cDBNavElement(aRow["page_key"].ToString(), aRow["page_title"].ToString()); if (aRow["nav_title"].ToString() == "(") //Separator { aNavElement.NavTitle = " "; } else { aNavElement.NavTitle = aRow["nav_title"].ToString(); } aNavElement.EnabledAfterSubmit = Convert.ToBoolean(aRow["available_after_submit"]); aNavElement.SourceFile = aRow["source_file"].ToString(); aNavElement.HelpFile = aRow["help_file"].ToString(); if (aRow["Target"].ToString() != "") { aNavElement.Target = aRow["target"].ToString(); } Add_NavElement(aNavElement); aNavElement.DBNavElement_Load(aDBConn, aTableName, aRow["page_key"].ToString(), aModuleID, aCompetitionID); } }
/*-----------------------------------------------------*/ public void DBNavElement_Load(String aConnStr, String aTableName, int aModuleID, int aCompetitionID) { cSQLDBConn aDBConn = new cSQLDBConn(aConnStr); DBNavElement_Load(aDBConn, aTableName, "", aModuleID, aCompetitionID); aDBConn.CloseDBConnection(); }
/*-----------------------------------------------------*/ private cXMLDoc BuildDataDefinitionFromDB(HttpApplication aHttpApp, cXMLDoc aDoc) { String aConnString = "", aChild; StringBuilder aXML = new StringBuilder(); XmlNodeList aDataNodeList = aDoc.DocElement.SelectNodes("DataSources/DataSource"); foreach (XmlNode aDataNode in aDataNodeList) { XmlNodeList aReleaseNodeList = aDataNode.SelectNodes("ReleaseBuild[@BuildKey='" + BuildKey + "']"); if (aReleaseNodeList.Count > 0) { XmlNode aArgNode = aDataNode.SelectSingleNode("Class/Arguments/Argument"); aConnString = cXMLDoc.AttributeToString(aArgNode, "Value"); break; } } IDataReader aReader, aPropertyRD, aRelatedRD; cSQLDBConn aConn, aPropertyConn, aRelatedConn; aConn = new cSQLDBConn(aConnString); SqlCommand aCmd = new SqlCommand("select * from a_DATA_DEFINITION", (SqlConnection)aConn.DBConnection); aReader = aCmd.ExecuteReader(); while (aReader.Read()) { aXML.Append("<Definition Key='"); aXML.Append(aReader.GetValue(1).ToString()); aXML.Append("' DataSourceKey='"); aXML.Append(aReader.GetValue(2).ToString()); aXML.Append("' RowSource='"); aXML.Append(aReader.GetValue(3).ToString()); aXML.Append("'><Class Name='"); aXML.Append(aReader.GetValue(4).ToString()); aXML.Append("' Assembly='"); aXML.Append(aReader.GetValue(5).ToString()); aXML.Append("' FullName='"); aXML.Append(aReader.GetValue(6).ToString()); aXML.Append("'></Class><Properties>"); aPropertyConn = new cSQLDBConn(aConnString); aCmd = new SqlCommand("select * from a_DATA_PROPERTY where data_definition_id=" + aReader.GetValue(0).ToString(), (SqlConnection)aPropertyConn.DBConnection); aPropertyRD = aCmd.ExecuteReader(); while (aPropertyRD.Read()) { aXML.Append("<Property Key='"); aXML.Append(aPropertyRD.GetValue(2).ToString()); aXML.Append("' IsPrimaryKey='"); aXML.Append(aPropertyRD.GetValue(3).ToString()); aXML.Append("' IsIdentity='"); aXML.Append(aPropertyRD.GetValue(4).ToString()); aXML.Append("' DataType='"); aXML.Append(aPropertyRD.GetValue(5).ToString()); aXML.Append("' ColumnSource='"); aXML.Append(aPropertyRD.GetValue(6).ToString()); aXML.Append("'>"); aChild = aPropertyRD.GetValue(8).ToString(); if (aChild != "") { aXML.Append("<Relationship Type='"); aXML.Append(aPropertyRD.GetValue(7).ToString()); aXML.Append("' ChildDefinitionKey='"); aXML.Append(aChild); aXML.Append("'><RelationshipProperties>"); aRelatedConn = new cSQLDBConn(aConnString); aCmd = new SqlCommand("select * from a_DATA_RELATED_PROPERTY where data_property_id=" + aPropertyRD.GetValue(0).ToString(), (SqlConnection)aRelatedConn.DBConnection); aRelatedRD = aCmd.ExecuteReader(); while (aRelatedRD.Read()) { aXML.Append("<RelationshipProperty parentProperty='"); aXML.Append(aRelatedRD.GetValue(2).ToString()); aXML.Append("' childProperty='"); aXML.Append(aRelatedRD.GetValue(3).ToString()); aXML.Append("'/>"); } aRelatedRD.Close(); aXML.Append("</RelationshipProperties></Relationship>"); } aXML.Append("</Property>"); } aPropertyRD.Close(); aXML.Append("</Properties></Definition>"); } aReader.Close(); XmlElement aElem = aDoc.XMLDocument.CreateElement("DataObjectDefinitions"); aElem.InnerXml = aXML.ToString(); aDoc.DocElement.AppendChild(aElem); return(aDoc); }