Ejemplo n.º 1
0
        public ActionResult Edit(Problema p)
        {
            if (!esAdmin())
            {
                return(RedirectTo(Pagina.HOME));
            }

            if (p.tipoOlimpiada == TipoOlimpiada.NULL)
            {
                p.tipoOlimpiada = TipoOlimpiada.OMI;
            }

            Olimpiada o = Olimpiada.obtenerOlimpiadaConClave(p.olimpiada, p.tipoOlimpiada);

            if (o == null || p.olimpiada == Olimpiada.TEMP_CLAVE)
            {
                return(RedirectTo(Pagina.ERROR, 401));
            }

            if (p.dia < 0 || p.dia > 2)
            {
                return(RedirectTo(Pagina.ERROR, 401));
            }

            if (p.numero < 0 || p.numero > 4)
            {
                return(RedirectTo(Pagina.ERROR, 401));
            }

            if (!ModelState.IsValid)
            {
                return(View(p));
            }

            p.guardar();

            return(RedirectTo(Pagina.OLIMPIADA, p.olimpiada));
        }