public SearchResult(Persona p) { persona = p; Medalleros ms = Medallero.obtenerMedalleros(Medallero.TipoMedallero.PERSONA, p.clave.ToString()); medalleros = new Dictionary <TipoOlimpiada, Medallero>(); foreach (TipoOlimpiada tipo in Enum.GetValues(typeof(TipoOlimpiada))) { Medallero m = ms.medalleroDeTipo(tipo); if (m != null) { medalleros.Add(tipo, m); } } estados = p.consultarEstados(); participaciones = p.consultarParticipaciones(); if (medalleros.Count == 0 && estados.Count == 0 && participaciones.Count == 0) { // En este caso, estamos tratando con un delegado que no ha ido a olimpiadas o un zombie Estado estado = Estado.obtenerEstadoDeDelegado(p.clave); if (estado != null) { participaciones.Add(MiembroDelegacion.TipoAsistente.DELEGADO.ToString()); estados.Add(estado.clave); } } }
/// <summary> /// Obtiene todos los medalleros del tipo pedido /// </summary> /// <param name="tipoMedallero">Si es estado, persona, institucion o asesor</param> /// <param name="clave">La clave del estado/persona/institucion/asesor</param> /// <returns>Un objeto medalleros con los medalleros deseados</returns> public static Medalleros obtenerMedalleros(TipoMedallero tipoMedallero, string clave) { Medalleros m = new Medalleros(); m.OMI = obtenerMedallas(TipoOlimpiada.OMI, tipoMedallero, clave, true); m.IOI = obtenerMedallas(TipoOlimpiada.IOI, tipoMedallero, clave, true); m.OMIS = obtenerMedallas(TipoOlimpiada.OMIS, tipoMedallero, clave, true); m.OMIP = obtenerMedallas(TipoOlimpiada.OMIP, tipoMedallero, clave, true); return(m); }