/// <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); }
/// <summary> /// Obtiene el medallero de la base de datos /// </summary> /// <param name="tipoOlimpiada">El tipo de la olimpiada de la que se requiere el medallero</param> /// <param name="tipoMedallero">Si es estado, persona, institucion o asesor</param> /// <param name="clave">La clave del estado/persona/institucion/asesor</param> /// <param name="nullSiInexistente">Regresa null si no hay medallero y esta bandera es verdadera</param> /// <returns>Un objeto medallero con los datos deseados</returns> public static Medallero obtenerMedallas(TipoOlimpiada tipoOlimpiada, TipoMedallero tipoMedallero, string clave, bool nullSiInexistente = false) { Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append(" select * from medallero where clase = "); query.Append(Cadenas.comillas(tipoOlimpiada.ToString().ToLower())); query.Append(" and tipo = "); query.Append((int)tipoMedallero); query.Append(" and clave = "); query.Append(Cadenas.comillas(clave)); if (db.EjecutarQuery(query.ToString()).error) { return(null); } DataTable table = db.getTable(); Medallero m = new Medallero(); m.tipoMedallero = tipoMedallero; m.tipoOlimpiada = tipoOlimpiada; m.clave = clave; if (table.Rows.Count > 0) { m.llenarDatos(table.Rows[0]); } else if (nullSiInexistente) { return(null); } return(m); }