// // 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)); }