quitarFlor() public method

public quitarFlor ( Nodo n ) : Usuario
n Nodo
return Usuario
Esempio n. 1
0
        void verifyCantidadFlores()
        {
            //verifico cantidad de flores
            lock (app.grupos)
            {
                foreach (Grupo g in app.grupos)
                {
                    lock (g)
                    {
                        Arbol a = g.arbol;
                        foreach (Usuario u in g.usuarios)
                        {
                            //agrego si faltan
                            for (int q = u.flores.Count; q < a.cantidadFlores; q++)
                            {
                                u.flores.Add(new Flor());
                            }

                            //quito si sobran
                            while (u.flores.Count > a.cantidadFlores)
                            {
                                Flor f = u.flores[u.flores.Count - 1]; //quito desde la ultima que quizas no esta en uso
                                if (f.id != 0)
                                {
                                    a.quitarFlor(a.getNodo(f.id), u);
                                }
                                u.flores.RemoveAt(u.flores.Count - 1);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        string doToggleFlor(string email, int id, float x, string grupo)
        {
            string ret = "";
            Grupo  g   = app.getGrupo(grupo);

            lock (g)
            {
                //verifico que el usuario tiene una flor en ese nodo
                Arbol a = g.arbol;
                g.ts = DateTime.Now;
                Usuario     u     = g.getUsuarioHabilitado(email);
                Flor        f     = u.getFlor(id);
                List <Nodo> pathn = a.getPath(id);
                if (pathn == null)
                {
                    throw new appException(Tools.tr("Seleccione un nodo", g.idioma));
                }
                else
                {
                    Nodo n = pathn[0];

                    if (f == null)
                    {
                        n.x = x;

                        //no tiene flor en el nodo, la agrego
                        a.asignarflor(u, n);

                        //devuelvo el arbolPersonal
                        ret = Tools.toJson(a.getArbolPersonal(email));
                    }
                    else
                    {
                        //tiene flor, la quito
                        a.quitarFlor(n, u);

                        //devuelvo el arbolPersonal
                        ret = Tools.toJson(a.getArbolPersonal(email));
                    }
                }
            }
            return(ret);
        }