private List <Utilerias.diagramElem> GeneraDiagramaDependencia(string ide, string name, int maxe) { Aplicacion appobj = new Aplicacion(); string nomapp = TempData["nomapp"].ToString(); int appid = (int)TempData["appid"]; int tipoid = (int)TempData["tipoid"]; int transversal = (int)TempData["transversal"]; TempData.Keep("transversal"); TempData.Keep("DiagBD"); TempData.Keep("nomapp"); TempData.Keep("tipoid"); TempData.Keep("appid"); string diagramahtml = string.Empty; int xini = 0, xfin = 0, yini = 0, yfin = 0, xinc = 0, yinc = 0; string dim = string.Empty; bool result = false; DiagramaDimension(maxe, ref xini, ref xfin, ref yini, ref yfin, ref xinc, ref yinc, ref dim); int ide_padre = 49; if (dim.Equals("2")) { ide_padre = 21; } if (transversal == 1) { string indicador = TempData["indicador"].ToString(); TempData.Keep("indicador"); result = appobj.ObtenTransversalidad(int.Parse(Session["usuid"].ToString()), appid, tipoid, indicador, 3, name); } else { result = appobj.ObtenObjetosDB4(int.Parse(Session["usuid"].ToString()), appid, name, tipoid); } if (result) { int contador = 0; for (int x = xini; x < xfin; x += xinc) { for (int y = yini; y < yfin; y += yinc) { de.Add(new Utilerias.diagramElem(contador, x, y, string.Empty, 0, 0, 0, "")); contador++; } } XmlNode select = appobj.AplicaionXML.DocumentElement.SelectSingleNode("ObjetosDB"); de[ide_padre].name = nomapp; de[ide_padre].ocp = 1; de[ide_padre].idepadre = -1; de[ide_padre].ispadre = 1; ide_padre++; de[ide_padre].name = name; de[ide_padre].ocp = 1; de[ide_padre].idepadre = (ide_padre - 1); de[ide_padre].ispadre = 1; int ide_hijo = 0; foreach (XmlNode area in select.SelectNodes("row")) { ide_hijo = EncuentraHijoAmigo(ide_padre, de, xini); de[ide_hijo].name = area.Attributes["Objeto"].Value.ToString(); de[ide_hijo].ocp = 1; de[ide_hijo].idepadre = ide_padre; de[ide_hijo].info = area.Attributes["codigo"].Value.ToString(); } } return(de); }