public string GeneraDiagramaDependenciaDB(int appid, string nomapp) { int maxe = 100; Aplicacion appobj = new Aplicacion(); string nomapli = TempData["nomapp"].ToString(); TempData.Keep("nomapp"); string diagramahtml = string.Empty; int xini = 0, xfin = 0, yini = 0, yfin = 0, xinc = 0, yinc = 0; string dim = string.Empty; DiagramaDimension(maxe, ref xini, ref xfin, ref yini, ref yfin, ref xinc, ref yinc, ref dim); ldbd.Clear(); int ide_padre = 49; if (dim.Equals("2")) { ide_padre = 21; } if (appobj.ObtenRelacionDepDB(int.Parse(Session["usuid"].ToString()), appid, nomapp)) { 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 = nomapli; de[ide_padre].ocp = 1; de[ide_padre].idepadre = -1; de[ide_padre].ispadre = 1; ldbd.Add(new Utilerias.LineDiagramaDB(-1, ide_padre, "", "", "")); ide_padre++; de[ide_padre].name = nomapp; de[ide_padre].ocp = 1; de[ide_padre].idepadre = (ide_padre - 1); de[ide_padre].ispadre = 1; ldbd.Add(new Utilerias.LineDiagramaDB((ide_padre - 1), ide_padre, "", "", "")); int ide_hijo = 0; foreach (XmlNode padre in select.SelectNodes("row")) { ide_hijo = EncuentraHijoAmigo(ide_padre, de, xini); de[ide_hijo].name = padre.Attributes["Objeto"].Value.ToString(); de[ide_hijo].ocp = 1; de[ide_hijo].idepadre = ide_padre; de[ide_hijo].info = padre.Attributes["codigo"].Value.ToString(); ldbd.Add(new Utilerias.LineDiagramaDB(ide_hijo, ide_padre, padre.Attributes["PK_Nombre"].Value.ToString(), padre.Attributes["ColumnaPadre"].Value.ToString(), padre.Attributes["ColumnaHijo"].Value.ToString())); } diagramahtml = ArmandoDIagramaBD(de, ldbd); } TempData["appid"] = appid; TempData["ControlDiv"] = de; TempData["DiagBD"] = 1; TempData["xmlActual"] = appobj.AplicaionXML; TempData["LineasDB"] = ldbd; return(diagramahtml); }