Ejemplo n.º 1
0
        //
        // GET: /Admin/ResetOMI/

        public ActionResult ResetOMI()
        {
            if (!esAdmin())
            {
                return(RedirectTo(Pagina.ERROR, 401));
            }

            Olimpiada.resetOMIs(TipoOlimpiada.OMI);
            Olimpiada.resetOMIs(TipoOlimpiada.OMIS);
            Olimpiada.resetOMIs(TipoOlimpiada.OMIP);
            Olimpiada.resetOMIs(TipoOlimpiada.OMIPO);
            Olimpiada.resetOMIs(TipoOlimpiada.OMISO);

            List <OmegaUp> status = OmegaUp.obtenerInstrucciones(OmegaUp.Instruccion.STATUS);

            OmegaUp.RunnerStarted = (status.Count > 0);

            return(RedirectTo(Pagina.ADMIN_SCOREBOARD));
        }
Ejemplo n.º 2
0
        //
        // GET: /Admin/BorrarScoreboard/

        public ActionResult BorrarScoreboard(int clave = 0)
        {
            if (!esAdmin())
            {
                return(RedirectTo(Pagina.ERROR, 401));
            }

            if (clave == 0)
            {
                OmegaUp.borrarTodo();
                Olimpiada.resetOMIs(TipoOlimpiada.OMI);
                Olimpiada.resetOMIs(TipoOlimpiada.OMIS);
                Olimpiada.resetOMIs(TipoOlimpiada.OMIP);
                OmegaUp.RunnerStarted = false;
            }
            else
            {
                OmegaUp om = OmegaUp.obtenerConClave(clave);
                OmegaUp.borrarConClave(clave);

                if (om.instruccion == OmegaUp.Instruccion.POLL)
                {
                    OmegaUp om2 = OmegaUp.obtenerParaOMI(om.olimpiada, om.tipoOlimpiada);

                    if (om2 == null)
                    {
                        Olimpiada o = Olimpiada.obtenerOlimpiadaConClave(om.olimpiada, om.tipoOlimpiada);
                        o.liveResults = false;
                    }
                }
                else if (om.instruccion == OmegaUp.Instruccion.KILL)
                {
                    OmegaUp.RunnerStarted = false;
                }
            }

            return(RedirectTo(Pagina.ADMIN_SCOREBOARD));
        }