Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        /// <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());
        }