/// <summary> /// Calcula las participaciones diferente a competidor que tiene la persona /// </summary> /// <param name="tipoOlimpiada">El tipo de olimpiada</param> public List <string> consultarParticipaciones(TipoOlimpiada tipoOlimpiada = TipoOlimpiada.NULL) { List <string> tipos = new List <string>(); Acceso db = new Acceso(); StringBuilder query = new StringBuilder(); query.Append(" select distinct(tipo) from MiembroDelegacion where persona = "); query.Append(this.clave); query.Append(" and tipo != "); query.Append(Cadenas.comillas(MiembroDelegacion.TipoAsistente.COMPETIDOR.ToString().ToLower())); if (tipoOlimpiada != TipoOlimpiada.NULL) { query.Append(" and clase = "); query.Append(Cadenas.comillas(tipoOlimpiada.ToString().ToLower())); } query.Append(" and clase <> "); query.Append(Cadenas.comillas(TipoOlimpiada.OMIPO.ToString().ToLower())); query.Append(" and clase <> "); query.Append(Cadenas.comillas(TipoOlimpiada.OMISO.ToString().ToLower())); db.EjecutarQuery(query.ToString()); DataTable table = db.getTable(); tipos = new List <string>(); foreach (DataRow r in table.Rows) { MiembroDelegacion.TipoAsistente tipo = DataRowParser.ToTipoAsistente(DataRowParser.ToString(r[0])); if (tipo == MiembroDelegacion.TipoAsistente.DELELIDER) { if (!tipos.Contains(MiembroDelegacion.TipoAsistente.LIDER.ToString())) { tipos.Add(MiembroDelegacion.TipoAsistente.LIDER.ToString()); } if (!tipos.Contains(MiembroDelegacion.TipoAsistente.DELEGADO.ToString())) { tipos.Add(MiembroDelegacion.TipoAsistente.DELEGADO.ToString()); } } else { string t = MiembroDelegacion.getTipoAsistenteString(tipo); if (!tipos.Contains(t)) { tipos.Add(t); } } } return(tipos); }