Ejemplo n.º 1
0
        public static Nodo crearNodo(Grupo g)
        {
            Nodo nodo = new Nodo();

            nodo.nombre         = g.nombre;
            nodo.URL            = g.URL;
            nodo.objetivo       = g.objetivo;
            nodo.padreURL       = g.padreURL;
            nodo.padreNombre    = g.padreNombre;
            nodo.acceso         = "si";
            nodo.activos        = g.getUsuariosHabilitadosActivos().Count;
            nodo.colorPromedio  = g.queso.getColorPromedio();
            nodo.horizontalidad = g.getHorizontalidad();
            nodo.bloqueo        = Math.Min(g.arbol.minSiValue, g.arbol.maxNoValue);
            nodo.minSiPc        = g.arbol.minSiPc;
            nodo.maxNoPc        = g.arbol.maxNoPc;

            List <nabu.Usuario> usus = g.usuarios;

            usus.Sort(new nabu.Usuario.RolComparer());
            foreach (nabu.Usuario u in usus)
            {
                if (u.habilitado)
                {
                    Usuario p = new Usuario();
                    p.nombre          = u.nombre;
                    p.funcion         = u.funcion;
                    p.email           = u.email;
                    p.born            = u.born;
                    p.isAdmin         = u.isAdmin;
                    p.isSecretaria    = u.isSecretaria;
                    p.isFacilitador   = u.isFacilitador;
                    p.isRepresentante = u.isRepresentante;
                    p.isActive        = u.isActive;
                    p.apoyos          = u.apoyos; //cantidad de apoyos por parte de otros usuarios
                    p.readOnly        = u.readOnly;
                    p.grupoDesde      = u.grupoDesde;
                    nodo.usuarios.Add(p);
                }
            }

            if (g.organizacion.GetType().Name == "Plataforma")
            {
                organizaciones.Plataforma pl = (organizaciones.Plataforma)g.organizacion;

                foreach (plataforma.Seguimiento u in pl.seguimientos)
                {
                    Seguimiento p = new Seguimiento();
                    p.nombre      = u.nombre;
                    p.EID         = u.EID;
                    p.born        = u.born;
                    p.objetivo    = u.objetivo;
                    p.responsable = u.responsable;
                    p.icono       = u.icono;
                    nodo.seguimientos.Add(p);
                }
            }

            foreach (Hijo hijo in g.hijos)
            {
                Bosque.Nodo n = new Bosque.Nodo();
                n.URL    = hijo.URL;
                n.nombre = hijo.nombre;
                nodo.hijos.Add(n);
            }
            return(nodo);
        }