private void refreshCurrentTracks()
{
// Définition d'une variable pour les boucles
int i;
bool presenceGenres = false;
bool presenceArtistes = false;
// Réactualisation du datagrid suivant les arguments Genre, Artistes et album de la playlist
oSqlDataAdapterTracks.SelectCommand.CommandText = "SELECT * FROM Tracks";
// Si il y a des éléments de Genre sélectionnés
if (listGenres.SelectedItems.Count > 0)
{
// Bool de détection de présence
presenceGenres = true;
// Ajout du mot clef WHERE à la requete
oSqlDataAdapterTracks.SelectCommand.CommandText += " WHERE";
// Pour chaques Genres
for (i = 0; i <= listGenres.SelectedItems.Count - 1; i++)
{
if (i == 0)
oSqlDataAdapterTracks.SelectCommand.CommandText += " ( GENRE ='" + listGenres.SelectedItems[i] + "'";
else
oSqlDataAdapterTracks.SelectCommand.CommandText += " OR GENRE ='" + listGenres.SelectedItems[i] + "'";
}
oSqlDataAdapterTracks.SelectCommand.CommandText += " )";
}
// Si il y a des éléments des Artistes sélectionnés
if (listArtistes.SelectedItems.Count > 0)
{
// Bool de détection de présence
presenceArtistes = true;
// Si il y a des Genres déjà implémentés
if (presenceGenres.Equals(true))
oSqlDataAdapterTracks.SelectCommand.CommandText += " AND";
else
oSqlDataAdapterTracks.SelectCommand.CommandText += " WHERE";
// Pour chaques Artistes
for (i = 0; i <= listArtistes.SelectedItems.Count - 1; i++)
{
if (i == 0)
oSqlDataAdapterTracks.SelectCommand.CommandText += " ( Artist ='" + listArtistes.SelectedItems[i] + "'";
else
oSqlDataAdapterTracks.SelectCommand.CommandText += " OR Artist ='" + listArtistes.SelectedItems[i] + "'";
}
oSqlDataAdapterTracks.SelectCommand.CommandText += " )";
}
// Si il y a des éléments des Albums sélectionnés
if (listAlbums.SelectedItems.Count > 0)
{
// Si il y a des Genres déjà implémentés
if (presenceGenres.Equals(true))
oSqlDataAdapterTracks.SelectCommand.CommandText += " AND";
else if (presenceArtistes.Equals(true))
oSqlDataAdapterTracks.SelectCommand.CommandText += " AND";
else
oSqlDataAdapterTracks.SelectCommand.CommandText += " WHERE";
// Pour chaques Albums
for (i = 0; i <= listAlbums.SelectedItems.Count - 1; i++)
{
if (i == 0)
oSqlDataAdapterTracks.SelectCommand.CommandText += " ( Album ='" + listAlbums.SelectedItems[i] + "'";
else
oSqlDataAdapterTracks.SelectCommand.CommandText += " OR Album ='" + listAlbums.SelectedItems[i] + "'";
}
oSqlDataAdapterTracks.SelectCommand.CommandText += " )";
}
oSqlDataAdapterTracks.Fill(oDataSet, "CurrentTracks");
dataGrid.DataSource = oDataSet.Tables["CurrentTracks"];
oDataSet.Tables.Remove("CurrentTracks");
}