public static List <SedeOnline> obtenerSedes(string omi, string estado, TipoOlimpiada tipoOlimpiada) { Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); List <SedeOnline> list = new List <SedeOnline>(); tipoOlimpiada = obtenerTipo(tipoOlimpiada); query.Append(" select * from SedeOnline where olimpiada = "); query.Append(Cadenas.comillas(omi)); query.Append(" and clase = "); query.Append(Cadenas.comillas(tipoOlimpiada.ToString())); if (!String.IsNullOrEmpty(estado)) { query.Append(" and estado = "); query.Append(Cadenas.comillas(estado)); } query.Append(" order by estado asc "); db.EjecutarQuery(query.ToString()); DataTable table = db.getTable(); foreach (DataRow r in table.Rows) { SedeOnline so = new SedeOnline(); so.llenarDatos(r); list.Add(so); } return(list); }
public static SedeOnline obtenerSedeConClave(int clave) { Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append(" select * from SedeOnline where clave = "); query.Append(clave); db.EjecutarQuery(query.ToString()); DataTable table = db.getTable(); SedeOnline so = null; if (table.Rows.Count > 0) { so = new SedeOnline(); so.llenarDatos(table.Rows[0]); } return(so); }
/// <summary> /// Regresa la tabla de asistentes en un formato tabulado con comas /// para la edición manual para admins /// </summary> /// <returns>La tabla tabulada con comas</returns> public string obtenerTablaAsistentes(bool esParaRegistro = false, bool incluirCabeceras = false, bool esParaOmegaUp = false) { List <MiembroDelegacion> asistentes = MiembroDelegacion.cargarAsistentesOMI(numero, tipoOlimpiada, esParaRegistro: true); StringBuilder tabla = new StringBuilder(); if (incluirCabeceras) { // Incluimos cabeceras de datos tabla.Append("nivel omi, nombre, estado, tipo asistente, clave, fecha nacimiento, "); tabla.Append(" genero, correo, escuela, nivel escuela, año escolar, publica o privada, "); tabla.Append(" celular, telefono, direccion, omegaup, emergencia, parentesco, "); tabla.Append(" telefono emergencia, medicina, alergias"); if (this.esOnline) { tabla.Append(", sede"); } tabla.Append("\n"); } if (esParaOmegaUp) { tabla.Append("username,name,country_id,state_id,gender,school_name\n"); foreach (MiembroDelegacion asistente in asistentes) { if (asistente.tipo == MiembroDelegacion.TipoAsistente.COMPETIDOR) { Persona p = Persona.obtenerPersonaConClave(asistente.claveUsuario, completo: true, incluirDatosPrivados: true); Estado e = Estado.obtenerEstadoConClave(asistente.estado); tabla.Append(asistente.clave); tabla.Append(","); tabla.Append(p.nombreCompleto); tabla.Append(","); if (e.extranjero) { tabla.Append(e.sitio); // Guardamos el ISO necesario para el país en este campo dado que no se usa para extranjeros } else { tabla.Append("MX"); tabla.Append(","); tabla.Append(e.ISO); } tabla.Append(","); tabla.Append(p.genero == "M" ? "male" : "female"); tabla.Append(","); tabla.Append(asistente.nombreEscuela); tabla.Append("\n"); } } } else { foreach (MiembroDelegacion asistente in asistentes) { if (esParaRegistro) { tabla.Append(tipoOlimpiada); tabla.Append(","); } tabla.Append(asistente.obtenerLineaAdmin(esParaRegistro: esParaRegistro)); if (esParaRegistro) { Persona p = Persona.obtenerPersonaConClave(asistente.claveUsuario, completo: true, incluirDatosPrivados: true); tabla.Append(p.obtenerLineaAdmin()); if (this.esOnline) { tabla.Append(","); SedeOnline so = SedeOnline.obtenerSedeConClave(asistente.sede); if (so != null) { tabla.Append(Cadenas.comillas(so.nombre, "\"")); } } } tabla.Append("\n"); } } return(tabla.ToString()); }