Example #1
0
        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);
        }