Exemplo n.º 1
0
        string doEvaluarTema(string idTema, string grupo, string email, int width)
        {
            string ret = "";
            Grupo  g   = app.getGrupo(grupo);

            lock (g)
            {
                g.ts = DateTime.Now;

                //busco el tema
                foreach (Tema t in g.queso.temas)
                {
                    if (t.id == idTema)
                    {
                        ModeloEvaluacion m    = g.organizacion.getModeloEvaluacion(t.modeloEvaluacionID);
                        Propuesta        prop = m.createProp(t);
                        ret = m.toHTML(prop, g, email, width, ModeloEvaluacion.eModo.editar); //las propuesta debe ir en orden de nivel

                        //guarpo prevista para poder crearla luego
                        Usuario  u    = g.getUsuarioHabilitado(email);
                        Prevista prev = new Prevista();
                        prev.titulo = m.titulo;
                        prev.propuestas.Clear();
                        prev.propuestas.Add(prop);
                        u.prevista = prev;
                    }
                }
            }
            return(ret);
        }
Exemplo n.º 2
0
        public string doDocumentSubmit(string accion, string parametro, string grupo, string email, string modeloID, int width, HttpRequest req)
        {
            string           ret = "";
            Grupo            g   = app.getGrupo(grupo);
            ModeloEvaluacion m   = g.organizacion.getModeloEvaluacion(modeloID);
            Usuario          u   = g.getUsuarioHabilitado(email);

            lock (g)
            {
                Propuesta prop = prepararDocumento(g, email, modeloID, req);

                //proceso evento
                m.evaluacionSubmit(accion, parametro, prop, g, email); //las propuesta debe ir en orden de nivel

                //genro respuesta
                ret = m.toHTML(prop, g, email, width, ModeloEvaluacion.eModo.editar);

                //guarpo prevista para poder crearla luego
                Prevista prev = new Prevista();
                prev.titulo = m.titulo;
                prev.propuestas.Clear();
                prev.propuestas.Add(prop);
                u.prevista = prev;
            }
            return(ret);
        }
Exemplo n.º 3
0
        public string doDocumentSubmit(string accion, string parametro, string grupo, string email, string modeloID, int id, int width, HttpRequest req)
        {
            string ret = "";
            Grupo  g   = app.getGrupo(grupo);
            Modelo m   = g.organizacion.getModeloDocumento(modeloID);

            lock (g)
            {
                List <Propuesta> props = prepararDocumento(g, email, modeloID, id, req);

                //genro respuesta
                ret = m.documentSubmit(accion, parametro, props, g, email, width, Modelo.eModo.editar); //las propuesta debe ir en orden de nivel

                //guarpo prevista para poder crearla luego
                if (props.Count > 0)
                {
                    Usuario  u    = g.getUsuarioHabilitado(email);
                    Prevista prev = new Prevista();
                    prev.etiqueta = m.etiqueta;
                    prev.titulo   = m.titulo;
                    prev.propuestas.Clear();
                    foreach (Propuesta p in props)
                    {
                        if (p.esPrevista())
                        {
                            prev.propuestas.Add(p);
                        }
                    }
                    u.prevista = prev;
                } //else no ha escrito nada nuevo
            }
            return(ret);
        }
Exemplo n.º 4
0
        string doPrevista(string modeloID, string grupo, string email, int width, HttpRequest req)
        {
            string           ret = "";
            Grupo            g   = app.getGrupo(grupo);
            ModeloEvaluacion m   = g.organizacion.getModeloEvaluacion(modeloID);

            lock (g)
            {
                Propuesta prop = prepararDocumento(g, email, modeloID, req);

                //genro prevista para segurarme que defina etiqueta y titulo
                ret = m.toHTML(prop, g, email, width, ModeloEvaluacion.eModo.prevista);

                //guarpo prevista para poder crearla luego
                Usuario  u    = g.getUsuarioHabilitado(email);
                Prevista prev = new Prevista();
                prev.titulo = m.titulo;
                prev.propuestas.Clear();
                prev.propuestas.Add(prop);
                u.prevista = prev;
            }
            return(ret);
        }
Exemplo n.º 5
0
        string doPrevista(int id, string modeloID, string grupo, string email, int width, HttpRequest req)
        {
            string ret = "";
            List<Propuesta> props = new List<Propuesta>();
            Modelo m = Modelo.getModelo(modeloID);
            Grupo g = app.getGrupo(grupo);
            lock (g)
            {
                //preparo propuestas de nodos ancestros
                Arbol a = g.arbol;
                List<Nodo> path = a.getPath(id);
                g.ts = DateTime.Now;
                foreach (Nodo n in path)
                {
                    Propuesta op = a.getPropuesta(n); //comparo textox con hermanos y resalto palarbas nuevas
                    if (n.nivel > 0 && op != null)
                    {
                        props.Add(op);
                    }
                }

                //agrego las propuestas de prevista
                List<Propuesta> previstaProps = new List<Propuesta>();
                foreach (string reqID in req.Form.AllKeys)
                {
                    if (reqID != null && m.isVariable(reqID) && req[reqID] != "")
                    {
                        //este valor me lo guardo en la prpuesta para ese nivel
                        Variable v = m.getVariable(reqID);
                        bool found = false;
                        foreach (Propuesta p in previstaProps)
                        {
                            if (v.nivel == p.nivel)
                            {
                                p.bag.Add(reqID, m.parse(reqID, req[reqID]));
                                found = true;
                            }
                        }
                        if (!found)
                        {
                            Propuesta p = new Propuesta();
                            p.email = email;
                            p.modeloID = m.id;
                            p.nivel = v.nivel;
                            //p.nodoID = id; nodoID=0 determina propuesta prevista, porque esta propuesta aun no tiene nodo
                            p.bag.Add(reqID, m.parse(reqID, Server.HtmlEncode(req[reqID])));

                            previstaProps.Add(p);
                            props.Add(p);
                        }
                    }
                }

                //genro prevista
                ret = m.toHTML(props, g, email, width, Modelo.eModo.prevista ); //las propuesta debe ir en orden de nivel

                //guarpo prevista para poder crearla luego
                if (props.Count > 0)
                {
                    Usuario u = g.getUsuario(email);
                    Prevista prev = new Prevista();
                    prev.etiqueta = m.etiqueta;
                    prev.titulo = m.titulo;
                    prev.propuestas = previstaProps;
                    u.prevista = prev;
                } //else no ha escrito nada nuevo
            }
            return ret;
        }