protected void InitDatabaseCommandsView(RadTreeNode DatabaseCommandRoot) { XmlUtil x_util = new XmlUtil(); Util util = new Util(); DataSources DS = new DataSources(); Hashtable State = (Hashtable)HttpRuntime.Cache[Session.SessionID]; XmlDocument doc = util.GetStagingAppXml(State); XmlNode page_name = doc.SelectSingleNode("//pages/page/name[.='" + State["SelectedAppPage"].ToString() + "']"); XmlNode data_sources = page_name.ParentNode.SelectSingleNode("data_sources"); if (data_sources == null) { return; } XmlNode event_node = null; if (State["DataSourceEventField"] == null) { XmlNodeList data_source_id_list = data_sources.SelectNodes("data_source/data_source_id[.='" + State["DataSourceID"].ToString() + "']"); foreach (XmlNode node in data_source_id_list) { XmlNode possible = node.ParentNode.SelectSingleNode("event/data_source_event_type[.='page']"); if (possible != null) { event_node = possible.ParentNode; break; } } if (event_node == null) return; } else { event_node = data_sources.SelectSingleNode("data_source/event/data_source_event_field[.='" + State["DataSourceEventField"].ToString() + "']").ParentNode; } XmlNode sql_commands = event_node.SelectSingleNode("data_source_operations/sql_commands"); if (sql_commands == null) return; ArrayList DBCommands = new ArrayList(); XmlNodeList sql_command_list = sql_commands.SelectNodes("sql_command"); foreach (XmlNode sql_command in sql_command_list) { if (sql_command.InnerXml.Length == 0) continue; DBCommands.Add(DS.ParseSqlCommand(doc, sql_command)); } State["DBCommands"] = DBCommands; RefreshCommandsView(); }
private string SetDataSourceSqlCommands(XmlDocument doc,string page_name, int data_source_index, XmlNodeList sql_command_list) { DataSources DS = new DataSources(); string sql_command_list_name = "data_source_operations_" + page_name + "_" + data_source_index.ToString(); StringBuilder script = new StringBuilder("var " + sql_command_list_name + " = new Array(" + sql_command_list .Count.ToString() + ");\n"); int index = 0; foreach (XmlNode sql_command in sql_command_list) { string hashtable_name = sql_command_list_name + "_" + index.ToString(); script.Append("var " + hashtable_name + " = new Hashtable();\n"); script = SetJavascriptHashtable(script, hashtable_name, DS.ParseSqlCommand(doc,sql_command)); script.Append(sql_command_list_name + "[" + index.ToString() + "] = " + hashtable_name + ";\n"); index++; } return script.ToString(); }