// // GET: /Registro/EliminarSede public ActionResult EliminarSede(int clave) { SedeOnline so = SedeOnline.obtenerSedeConClave(clave); Persona p = getUsuario(); Olimpiada o = null; if (so != null) { o = Olimpiada.obtenerOlimpiadaConClave(so.omi, so.tipoOlimpiada); } if (so == null || !tienePermisos(o.registroActivo || o.registroSedes, so.estado) || (!p.esSuperUsuario() && !o.registroSedes)) { return(RedirectTo(Pagina.HOME)); } List <MiembroDelegacion> miembros = MiembroDelegacion.obtenerMiembrosEnSede(clave); if (miembros.Count > 0) { return(RedirectTo(Pagina.HOME)); } so.borrar(); // Se registra la telemetria Log.add(Log.TipoLog.REGISTRO, "Usuario " + getUsuario().nombreCompleto + " elimino la sede " + so.nombre + " del estado " + so.estado); return(RedirectTo(Pagina.REGISTRO, new { omi = so.omi, estado = so.estado })); }
// // GET: /Registro/Delegacion public ActionResult Delegacion(string omi = null, string estado = null, TipoOlimpiada tipo = TipoOlimpiada.OMI) { if (omi == null) { omi = Olimpiada.obtenerMasReciente(yaEmpezada: false).numero; } failSafeViewBag(); Olimpiada o = Olimpiada.obtenerOlimpiadaConClave(omi, tipo); ViewBag.omi = o == null ? new Olimpiada() : o; if (o == null || !tienePermisos(o.registroActivo || o.registroSedes, estado)) { ViewBag.permisos = true; return(View(new List <MiembroDelegacion>())); } Persona p = getUsuario(); ViewBag.invitaciones = false; if (!p.esSuperUsuario()) { if (estado == null) { return(RedirectTo(Pagina.HOME)); } Estado e = Estado.obtenerEstadoConClave(estado); ViewBag.estado = e; ViewBag.invitaciones = Archivos.existeArchivo(Archivos.Folder.INVITACIONES, omi + "\\" + estado + "\\" + e.ISO + "-1.pdf") || Archivos.existeArchivo(Archivos.Folder.INVITACIONES, omi + "\\" + estado + "\\S-" + e.ISO + "-1.pdf") || Archivos.existeArchivo(Archivos.Folder.INVITACIONES, omi + "\\" + estado + "\\P-" + e.ISO + "-1.pdf"); } List <MiembroDelegacion> registrados = MiembroDelegacion.obtenerMiembrosDelegacion(omi, p.esSuperUsuario() ? null : estado, o.tipoOlimpiada); ViewBag.hayResultados = Resultados.hayResultadosParaOMI(o.numero); if (o.esOnline) { List <SedeOnline> sedes = SedeOnline.obtenerSedes(omi, p.esSuperUsuario() ? null : estado, tipo); Dictionary <int, List <MiembroDelegacion> > miembrosPorSede = new Dictionary <int, List <MiembroDelegacion> >(); foreach (SedeOnline sede in sedes) { List <MiembroDelegacion> miembrosEnSede = MiembroDelegacion.obtenerMiembrosEnSede(sede.clave); miembrosPorSede.Add(sede.clave, miembrosEnSede); } ViewBag.miembrosPorSede = miembrosPorSede; ViewBag.sedes = sedes; } return(View(registrados)); }