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); }
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++; } } }
public abstract Propuesta createProp(Tema t);