//private void ShowDSTreeview_DFS(RadTreeView Tree,DataTable _dtTree, DataRow DrTra, string FeildValue, string FeildText,string FeildParent) //{ // try // { // RadTreeNode ItemTRa = new RadTreeNode(); // ItemTRa.Text = DrTra[FeildText].ToString(); // ItemTRa.Value = DrTra[FeildValue].ToString(); // ItemTRa.ImageUrl = "../images/drop-add.gif"; // // ItemTRa.NavigateUrl = "javascript:void(0)"; // Tree.Nodes.Add(ItemTRa); // DataTable dtQue = _dtTree.Clone(); // dtQue.ImportRow(DrTra); // RadTreeNode NodeTra = default(RadTreeNode); // while (dtQue.Rows.Count > 0) // { // NodeTra = SearchNode(_dtTree, dtQue.Rows[0][FeildValue].ToString(), Tree); // DataTable dtBC = this.LayDSTKCon(_dtTree, Convert.ToInt32(dtQue.Rows[0][FeildValue]), FeildParent); // int k = 0; // if (dtBC.Rows.Count > 0) // { // for (int i = 0; i <= dtBC.Rows.Count - 1; i++) // { // RadTreeNode Item = new RadTreeNode(); // Item.Text = dtBC.Rows[i][FeildText].ToString(); // Item.Value = dtBC.Rows[i][FeildValue].ToString(); // // Item.SelectedImageIndex = 1; // // Item.NavigateUrl = "javascript:void(0)"; // // Item.SelectAction = TreeNodeSelectAction.None; // Item.ImageUrl = "../images/drop-yes.gif"; // if ((NodeTra != null)) // { // NodeTra.Nodes.Add(Item); // } // DataRow dr = dtQue.NewRow(); // dr.ItemArray = dtBC.Rows[i].ItemArray; // if (dtQue.Rows[0][FeildValue].ToString().Trim() != dtBC.Rows[i][FeildValue].ToString().Trim()) // { // dtQue.Rows.Add(dr); // } // } // } // dtQue.Rows[0].Delete(); // dtQue.AcceptChanges(); // } // } // catch (Exception ex) // { // //Interaction.MsgBox("coLoi"); // } //} //private RadTreeNode SearchNode( string IDTK, RadTreeView Tree) //{ // RadTreeNode ReNode = default(RadTreeNode); // for (int j = 0; j <= Tree.Nodes.Count - 1; j++) // { // ReNode = SearchNodeDQ(Tree.Nodes[j], IDTK); // if ((ReNode != null)) // break; // TODO: might not be correct. Was : Exit For // } // return ReNode; //} //private RadTreeNode SearchNodeDQ(RadTreeNode NodeTra, string IDTK) //{ // if (NodeTra == null) // { // return null; // } // else // { // if (NodeTra.Value.ToString() == IDTK) // return NodeTra; // if (NodeTra.Nodes.Count == 0) // return null; // for (int i = 0; i <= NodeTra.Nodes.Count - 1; i++) // { // if (NodeTra.Nodes[i].Value != IDTK) // { // SearchNodeDQ(NodeTra.Nodes[i], IDTK); // } // else // { // return NodeTra.Nodes[i]; // } // } // return null; // } //} //private DataTable LayDSTKCon(DataTable _dtTree, int IDTra, string FeildParent) //{ // DataTable dt = _dtTree.Clone(); // DataRow[] _Row = _dtTree.Select(FeildParent + " = " + IDTra.ToString()); // if (_Row.Length > 0) // { // for (int i = 0; i <= _Row.Length - 1; i++) // { // dt.ImportRow(_Row[i]); // } // } // return dt; //} //// private void DuyetDeCheckLaiChucNang(RadTreeNode currentNode) { try { //RadTreeNode objTreeNode = default(RadTreeNode); RadTreeNode objTemp = default(RadTreeNode); bool checkAll = true; objTemp = currentNode.Nodes[0]; if (objTemp == null) { return; // menu thi hanh } else { while ((objTemp != null)) { DuyetDeCheckLaiChucNang(objTemp); objTemp = objTemp.Next; } currentNode.CollapseChildNodes(); // xet tat ca cac nut con foreach(RadTreeNode objTreeNode in currentNode.Nodes) { if (!objTreeNode.Checked) { checkAll = false; break; // TODO: might not be correct. Was : Exit For } } if (checkAll) currentNode.Checked = true; } } catch (Exception ex) { } }
private void CheckDepartmentTree(RadTreeNode currentNode, string[] sArrDe,ref bool OK) { try { //RadTreeNode objTreeNode = default(RadTreeNode); RadTreeNode objTemp = default(RadTreeNode); if (currentNode.Nodes.Count > 0) objTemp = currentNode.Nodes[0]; else objTemp = null; if (objTemp == null) { return; // menu thi hanh } else { while ((objTemp != null)) { CheckDepartmentTree(objTemp, sArrDe,ref OK); objTemp = objTemp.Next; } currentNode.CollapseChildNodes(); foreach (RadTreeNode objTreeNode in currentNode.Nodes) { for (int k = 0; k < sArrDe.Length; k++) if (sArrDe[k] == objTreeNode.Value.ToString()) { objTreeNode.Checked = true; OK = true; break; } } //if (OK) // currentNode.Checked = true; } } catch (Exception ex) { } }
private void CheckFunctionTree(RadTreeNode currentNode,DataTable _dt,ref bool OK) { try { //RadTreeNode objTreeNode = default(RadTreeNode); RadTreeNode objTemp =null; if (currentNode.Nodes.Count > 0) objTemp = currentNode.Nodes[0]; else objTemp = null; if (objTemp == null) { return; // menu thi hanh } else { while ((objTemp != null)) { CheckFunctionTree(objTemp, _dt,ref OK); objTemp = objTemp.Next; } currentNode.CollapseChildNodes(); DataRow[] _Row = _dt.Select("MenuId = " + currentNode.Value.ToString()); if (_Row.Length > 0) { currentNode.Checked = true; OK = true; } foreach (RadTreeNode objTreeNode in currentNode.Nodes) { DataRow[] _Row1 = _dt.Select("MenuId = " + objTreeNode.Value.ToString()); if (_Row1.Length > 0) { objTreeNode.Checked = true; OK = true; } } } } catch (Exception ex) { } }
protected void InitWebServiceNodes(XmlDocument doc, string event_field, RadTreeNode url_node, RadTreeNode WebServiceResponseRoot, XmlNode phone_data_requests) { string url = url_node.Text; url_node.ExpandParentNodes(); url_node.CollapseChildNodes(); Hashtable WebServiceMethodInputs = new Hashtable(); Hashtable State = (Hashtable)HttpRuntime.Cache[Session.SessionID]; State["WebServiceMethodInputs"] = WebServiceMethodInputs; RadTreeNode out_url = new RadTreeNode(url); out_url.CssClass = "RadTreeView"; out_url.ImageUrl = "~/images/dialog.gif"; WebServiceResponseRoot.Nodes.Add(out_url); Util util = new Util(); if (!url.EndsWith("?WSDL")) url += "?WSDL"; string xml = util.GetWebPage(url); if (xml == null) { SaveRequestMessage.Text = "Accessing " + url + " resulted in an error"; return; } XmlDocument WebDoc = new XmlDocument(); WebDoc.LoadXml(xml); XmlNamespaceManager nsmgr = new XmlNamespaceManager(WebDoc.NameTable); nsmgr.AddNamespace("s", "http://www.w3.org/2001/XMLSchema"); XmlNodeList web_methods = WebDoc.SelectNodes("//s:schema/s:element", nsmgr); if (web_methods.Count == 0) { nsmgr.AddNamespace("wsdl", "http://schemas.xmlsoap.org/wsdl/"); web_methods = WebDoc.SelectNodes("//wsdl:operation", nsmgr); if (web_methods.Count == 0) { SaveRequestMessage.Text = "Could not find any methods with URL: " + url; return; } } Hashtable used_names = new Hashtable(); foreach (XmlNode web_method in web_methods) { //throw out certain methods with <s:any /> if (web_method.InnerXml.Contains("s:any")) continue; string web_method_name = web_method.Attributes["name"].Value; if (used_names.ContainsKey(web_method_name)) continue; used_names[web_method_name] = true; ArrayList MethodInputs = new ArrayList(); string service_url = out_url.Text; if (out_url.Text.ToLower().EndsWith("?wsdl")) service_url = service_url.Remove(url.Length - 5); WebServiceMethodInputs[service_url + "/" + web_method_name] = MethodInputs; RadTreeNode in_method_node = new RadTreeNode(web_method_name); in_method_node.CssClass = "RadTreeView"; in_method_node.ImageUrl = "~/images/forward_nav.gif"; url_node.Nodes.Add(in_method_node); //response web methods XmlNode mapped_node = phone_data_requests.SelectSingleNode("//event_field[.='" + event_field + "']"); RadTreeNode out_method_node = null; if (mapped_node != null && State["WebServiceTestDoc"] != null && State["WebServiceResponseTreeViewNodeText"] != null && State["WebServiceResponseTreeViewNodeText"].ToString() == web_method_name) { //make sure we are in the right event XmlNode method_node = mapped_node.ParentNode.SelectSingleNode("method"); if (method_node != null && method_node.InnerText == web_method_name) { XmlDocument TestDoc = (XmlDocument) State["WebServiceTestDoc"]; out_method_node = new RadTreeNode(web_method_name); State["WebServiceResponseTreeViewMethodText"] = web_method_name; out_method_node.CssClass = "RadTreeView"; out_method_node.ImageUrl = "~/images/backward_nav.gif"; out_method_node.Category = "method"; out_method_node.Value = service_url + ";" + web_method_name + ";"; out_url.Nodes.Add(out_method_node); out_method_node.Value.Remove(out_method_node.Value.Length - 1, 1); WebServiceResponseTreeView.ExpandAllNodes(); XmlToTreeViewNode(TestDoc.FirstChild.NextSibling, out_method_node, web_method_name); out_method_node.ExpandParentNodes(); Session.Remove("WebServiceTestDoc"); } } else if (mapped_node != null) { XmlNode web_service_node = mapped_node.ParentNode.SelectSingleNode("web_service[.='" + service_url + "']"); XmlNode method_node = mapped_node.ParentNode.SelectSingleNode("method[.='" + web_method_name + "']"); if (web_service_node != null && method_node != null) { in_method_node.BackColor = Color.LightCoral; out_method_node = new RadTreeNode(web_method_name); out_method_node.CssClass = "RadTreeView"; out_method_node.ImageUrl = "~/images/backward_nav.gif"; out_method_node.Category = "method"; out_method_node.Value = service_url + ";" + web_method_name + ";"; out_url.Nodes.Add(out_method_node); out_method_node.Value.Remove(out_method_node.Value.Length - 1, 1); WebServiceResponseTreeView.ExpandAllNodes(); } } XmlNodeList parms = web_method.SelectNodes("s:complexType/s:sequence/s:element", nsmgr); foreach (XmlNode parm in parms) { string parm_name = parm.Attributes["name"].Value; MethodInputs.Add(parm_name); if (out_method_node != null) out_method_node.Value += parm_name + ","; RadTreeNode parm_node = new RadTreeNode(parm_name); parm_node.CssClass = "RadTreeView"; parm_node.ImageUrl = "~/images/dot.gif"; parm_node.Category = "input"; parm_node.BackColor = Color.FromArgb(250, 252, 156); in_method_node.Nodes.Add(parm_node); if (mapped_node != null) { XmlNode web_service_node = mapped_node.ParentNode.SelectSingleNode("web_service[.='" + service_url + "']"); XmlNode method_node = mapped_node.ParentNode.SelectSingleNode("method[.='" + web_method_name + "']"); if (web_service_node != null && method_node != null) { XmlNode web_service_method_input_node = mapped_node.ParentNode.SelectSingleNode("input_mapping/web_service_method_input[.='" + parm_name + "']"); if (web_service_method_input_node != null) { XmlNode input_field_node = web_service_method_input_node.ParentNode.SelectSingleNode("input_field"); if (input_field_node != null) { string request_name = input_field_node.InnerText; XmlNode field_node = doc.SelectSingleNode("//id[.='" + request_name + "']"); RadTreeNode request_node = null; if (field_node == null) request_node = util.CreateFieldNode(parm_node, request_name, ""); else request_node = util.CreateFieldNode(parm_node, request_name, field_node.ParentNode.Name); request_node.Text = request_name; request_node.Category = "request"; request_node.BackColor = Color.FromArgb(153, 255, 185); //LIGHT GREEN } } } } } RadTreeNode save_method_node = new RadTreeNode("Save calling this method with 0 or more inputs mapped"); save_method_node.CssClass = "RadTreeView"; save_method_node.ImageUrl = "~/images/save.gif"; save_method_node.Category = "save"; in_method_node.Nodes.Add(save_method_node); RadTreeNode undo_method_inputs_node = new RadTreeNode("Undo mapping of device fields to this method"); undo_method_inputs_node.CssClass = "RadTreeView"; undo_method_inputs_node.ImageUrl = "~/images/cancel.png"; undo_method_inputs_node.Category = "delete"; in_method_node.Nodes.Add(undo_method_inputs_node); in_method_node.ExpandChildNodes(); } }