コード例 #1
0
        //
        // GET: /Olimpiada/Delegacion/

        public ActionResult Delegacion(string clave, string estado, TipoOlimpiada tipo = TipoOlimpiada.OMI)
        {
            if (tipo == TipoOlimpiada.OMIS || tipo == TipoOlimpiada.OMIP)
            {
                tipo = TipoOlimpiada.OMI;
            }

            Olimpiada o = Olimpiada.obtenerOlimpiadaConClave(clave, tipo);

            if (o == null || o.numero == Olimpiada.TEMP_CLAVE)
            {
                return(RedirectTo(Pagina.ERROR, 404));
            }

            Estado e = Estado.obtenerEstadoConClave(estado);

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

            Dictionary <TipoOlimpiada, List <MiembroDelegacion> > delegaciones = new Dictionary <TipoOlimpiada, List <MiembroDelegacion> >();

            delegaciones.Add(tipo, MiembroDelegacion.obtenerMiembrosDelegacion(clave, estado, tipo, MiembroDelegacion.TipoAsistente.COMPETIDOR, listarPorAño: o.año));
            if (tipo == TipoOlimpiada.OMI && o.alsoOmips)
            {
                delegaciones.Add(TipoOlimpiada.OMIP, MiembroDelegacion.obtenerMiembrosDelegacion(clave, estado, TipoOlimpiada.OMIP, MiembroDelegacion.TipoAsistente.COMPETIDOR, listarPorAño: o.año));
                delegaciones.Add(TipoOlimpiada.OMIS, MiembroDelegacion.obtenerMiembrosDelegacion(clave, estado, TipoOlimpiada.OMIS, MiembroDelegacion.TipoAsistente.COMPETIDOR, listarPorAño: o.año));
            }

            ViewBag.liveResults          = o.liveResults;
            ViewBag.estado               = e;
            ViewBag.delegaciones         = delegaciones;
            ViewBag.lideres              = MiembroDelegacion.obtenerMiembrosDelegacion(clave, estado, tipo, MiembroDelegacion.TipoAsistente.LIDER);
            ViewBag.otros                = MiembroDelegacion.obtenerMiembrosDelegacion(clave, estado, tipo, MiembroDelegacion.TipoAsistente.INVITADO);
            ViewBag.medallas             = Medallero.obtenerMedallas(tipo, Medallero.TipoMedallero.ESTADO_POR_OMI, estado + "_" + clave);
            ViewBag.olimpiadas           = Olimpiada.obtenerOlimpiadas(tipo);
            ViewBag.olimpiadasParaEstado = Olimpiada.obtenerOlimpiadasParaEstado(estado);
            ViewBag.tipo = tipo;
            ViewBag.estadosEnOlimpiada = MiembroDelegacion.obtenerEstadosEnOlimpiada(o.numero);

            if (delegaciones[tipo].Count == 0)
            {
                ViewBag.vinoAOlimpiada = ViewBag.estado.estadoVinoAOlimpiada(tipo, clave);
            }

            return(View(o));
        }