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