Exemple #1
0
        string doCrearEvaluacion(ModeloEvaluacion m, Grupo g, string email, Evaluacion ev)
        {
            string msg = "";

            //tema
            string idTema = m.nombre + ":" + m.getEvaluadoID();
            Tema   t      = g.queso.getTema(idTema);

            if (t == null)
            {
                t    = new Tema();
                t.id = idTema;
                t.modeloEvaluacionID = m.id;
                t.nombre             = m.getTemaNombre();
                t.icono      = m.getTemaIcono();
                t.URL        = m.getTemaURL();
                t.evaluadoID = m.getEvaluadoID();
                t.autor      = m.getTemaAutor();

                g.queso.temas.Add(t);
            }

            //agrego evaluacion (reemplazo anterior si hay)
            if (ev != null)
            {
                msg = "";
                foreach (Evaluacion e in t.evaluaciones)
                {
                    if (e.email == email)
                    {
                        t.evaluaciones.Remove(e);
                        msg = Tools.tr("La evaluacion anterior ha sido reemplazada", g.idioma);
                        break;
                    }
                }
                t.evaluaciones.Add(ev);
            }

            //limpio
            Usuario u = g.getUsuario(email);

            if (u != null)
            {
                u.prevista = null;
            }

            //actualizo queso
            g.queso.evaluar();

            return(msg);
        }
Exemple #2
0
        public void limpiarCaducados()
        {
            int indext = 0;

            while (indext < temas.Count)
            {
                Tema t      = temas[indext];
                int  indexe = 0;
                while (indexe < t.evaluaciones.Count)
                {
                    Evaluacion e = t.evaluaciones[indexe];
                    if (DateTime.Now.Subtract(e.born).TotalDays > caducaDias)
                    {
                        Usuario u = grupo.getUsuario(e.email);
                        if (u != null)
                        {
                            u.alertas.Add(new Alerta(Tools.tr("Evaluacion caida para el tema [%1]", t.nombre, grupo.idioma)));
                        }

                        t.evaluaciones.RemoveAt(indexe);

                        if (t.evaluaciones.Count == 0)
                        {
                            temas.RemoveAt(indext);
                            break;
                        }
                    }
                    else
                    {
                        indexe++;
                    }
                }
                if (t.evaluaciones.Count == 0 && DateTime.Now.Subtract(t.born).TotalDays > caducaDias)
                {
                    temas.RemoveAt(indext);
                }
                else
                {
                    indext++;
                }
            }
        }
Exemple #3
0
 public abstract Propuesta createProp(Tema t);