Exemple #1
0
        //
        // GET: /Escuela/

        public ActionResult Index(string url = null, string clave = null, string omi = null, TipoOlimpiada tipo = TipoOlimpiada.OMI)
        {
            Institucion i = null;

            if (url == null && clave != null)
            {
                List <MiembroDelegacion> md = MiembroDelegacion.obtenerMiembrosConClave(omi, tipo, clave);
                if (md.Count == 0)
                {
                    return(RedirectTo(Pagina.ERROR, 404));
                }
                i   = Institucion.obtenerInstitucionConClave(md[0].claveEscuela);
                url = i.nombreURL;
            }

            if (i == null)
            {
                i = Institucion.obtenerInstitucionConNombreURL(url);
            }
            if (i == null)
            {
                return(RedirectTo(Pagina.ERROR, 404));
            }

            Medalleros m = Medallero.obtenerMedalleros(Medallero.TipoMedallero.INSTITUCION, i.clave.ToString());

            tipo = m.obtenerDefault(tipo);
            Medallero medallero = m.medalleroDeTipo(tipo);

            if (medallero == null)
            {
                medallero = new Medallero(tipo);
            }

            ViewBag.sedes         = i.obtenerOlimpiadasSede();
            ViewBag.participantes = Resultados.obtenerAlumnosDeInstitucion(i.clave, tipo);
            ViewBag.medallas      = medallero;
            ViewBag.medalleros    = m;
            ViewBag.tipo          = tipo;
            limpiarErroresViewBag();

            return(View(i));
        }
Exemple #2
0
        //
        // GET: /Estado/

        public ActionResult Index(string clave, TipoOlimpiada tipo = TipoOlimpiada.OMI)
        {
            Estado e = Estado.obtenerEstadoConClave(clave);

            if (e == null)
            {
                return(RedirectTo(Pagina.ERROR, 404));
            }

            Medalleros m = Medallero.obtenerMedalleros(Medallero.TipoMedallero.ESTADO, e.clave);

            tipo = m.obtenerDefault(tipo);

            limpiarErroresViewBag();
            ViewBag.sedes         = e.obtenerOlimpiadasSede();
            ViewBag.participantes = Resultados.obtenerAlumnosDeEstado(clave, tipo);
            ViewBag.medallas      = m.medalleroDeTipo(tipo);
            ViewBag.medalleros    = m;
            ViewBag.tipo          = tipo;
            ViewBag.estados       = Estado.obtenerEstados();

            return(View(e));
        }
        //
        // GET: /Profile/view/

        public ActionResult view(string usuario = null, string clave = null, TipoOlimpiada tipo = TipoOlimpiada.OMI, string omi = null)
        {
            Persona p = null;

            limpiarErroresViewBag();

            // QR's de competidor vienen en la forma usuario=null;clave=CMX-3;tipo=OMI;omi='30'
            if (usuario == null && clave != null)
            {
                List <MiembroDelegacion> md = MiembroDelegacion.obtenerMiembrosConClave(omi, tipo, clave, aproximarClave: true);
                if (md.Count == 0)
                {
                    return(RedirectTo(Pagina.ERROR, 404));
                }
                if (md.Count > 1)
                {
                    return(RedirectTo(Pagina.DELEGACION, omi + ":" + md[0].estado));
                }
                p       = Persona.obtenerPersonaConClave(md[0].claveUsuario);
                usuario = p.usuario;
            }

            if (String.IsNullOrEmpty(usuario))
            {
                if (estaLoggeado())
                {
                    p = getUsuario();
                    ViewBag.tienePeticiones = p.tienePeticiones();
                }
                else
                {
                    guardarParams(Pagina.LOGIN, Pagina.VIEW_PROFILE, "");
                    return(RedirectTo(Pagina.LOGIN));
                }
            }
            else
            {
                if (p == null)
                {
                    p = Persona.obtenerPersonaDeUsuario(usuario);
                }
                if (p != null)
                {
                    Persona u = getUsuario();
                    if (p.usuario == u.usuario)
                    {
                        ViewBag.tienePeticiones = p.tienePeticiones();
                    }
                }
                else
                {
                    return(RedirectTo(Pagina.ERROR, 404));
                }
            }

            // Estas variables de sesión tienen algo cuando se inicia sesión por primera vez y
            // se va a hacer el enlace de cuentas
            ViewBag.GUID = "";
            if (Session[GUID_STRING] != null && Session[GUID_USER].ToString() == p.clave.ToString())
            {
                ViewBag.GUID = Session[GUID_STRING];
            }
            Session[GUID_STRING] = null;
            Session[GUID_USER]   = null;

            if (tipo == TipoOlimpiada.OMIS || tipo == TipoOlimpiada.OMIP || TableManager.isOMIPOS(tipo))
            {
                tipo = TipoOlimpiada.OMI;
            }

            Medalleros medalleros = Medallero.obtenerMedalleros(Medallero.TipoMedallero.PERSONA, p.clave.ToString());

            ViewBag.participaciones = Resultados.obtenerParticipacionesComoCompetidorPara(p.clave, tipo);
            ViewBag.asistencias     = MiembroDelegacion.obtenerParticipaciones(p.clave);
            ViewBag.medalleros      = medalleros;
            ViewBag.tipo            = tipo;
            return(View(p));
        }