// Créer un tournois = lance la création des 4 rencontres de quart de finale public void CreerRencontreQuart() { rencontres Rencontre = new rencontres(); switch (coucheAccesDB.CreerRencontreQuart(Rencontre)) { case 0: Console.WriteLine("\nL'a création n'a pas pu avoir lieu."); break; case 2: Console.WriteLine("\nIl y a déjà 8 joueurs enregistrés."); break; default: Console.WriteLine("\nL'ajout s'est bien passé."); break; } }
// Créer rencontre quart de finale (idp = 4) public int CreerRencontreQuart(rencontres Rencontres) { SqlCommand sqlCmd = new SqlCommand(); int ok = 0; try { // Random ran = new Random(); sqlCmd.CommandText = "select max(idr) + 1 " + "from rencontres"; sqlCmd.Connection = SqlConn; SqlDataReader sqlReader = sqlCmd.ExecuteReader(); sqlReader.Read(); if (sqlReader[0] == DBNull.Value) { Rencontres.idr = 1; } else { int[] t = new int[8] { 1, 2, 3, 4, 5, 6, 7, 8 }; // morceau pour avoir un tableau avec des valeurs mélangées int i; Random rand = new Random(); for (i = 0; i < 8; i++) { int r = rand.Next(1, 8); int tmp = t[i]; t[i] = t[r]; t[r] = tmp; } List <int> listecomplete = new List <int>(t); i = 0; while (i < 8) { List <int> couple = new List <int>(); // faire de couple avec les valeurs mélangées couple.Add(i); couple.Add(i + 1); listecomplete.RemoveAt(i); listecomplete.RemoveAt(i + 1); Rencontres.joueur1 = t[i]; Rencontres.joueur2 = t[i + 1]; i = i + 2; int j = 1; // mettre une valeur pour les auutres paramètres (n° de table, n° d'arbitre, etc.). while (j < 5) { Rencontres.table = j; Rencontres.arbitre = j; Rencontres.idp = 4; Rencontres.idr = Convert.ToInt32(sqlReader[0]); sqlReader.Close(); sqlCmd.CommandText = "insert into rencontres(idr,joueur1,joueur2,vainqueur,table,arbitre,phase)" + "values(@idr,)"; sqlCmd.Parameters.Add("@idr", SqlDbType.Int).Value = Rencontres.idr; sqlCmd.Parameters.Add("@joueur1", SqlDbType.Int).Value = Rencontres.joueur1; sqlCmd.Parameters.Add("@joueur2", SqlDbType.Int).Value = Rencontres.joueur2; sqlCmd.Parameters.Add("@table", SqlDbType.Int).Value = Rencontres.table; sqlCmd.Parameters.Add("@arbitre", SqlDbType.Int).Value = Rencontres.arbitre; sqlCmd.Parameters.Add("@phase", SqlDbType.Int).Value = Rencontres.idp; //sqlCmd.Parameters.Add("@score", SqlDbType.Char).Value = Rencontres.score; ok = ok + sqlCmd.ExecuteNonQuery(); } j++; } } } catch (Exception e) { throw new ExceptionAccesDB(sqlCmd.CommandText, e.Message); } return(ok); }
// Créer rencontre quart de finale (idp = 4) public int CreerRencontre() { rencontres Rencontres = new rencontres(); Rencontres.idr = 1; SqlCommand sqlCmd = new SqlCommand(); int ok = 0; try { int[] t = new int[8] { 1, 2, 3, 4, 5, 6, 7, 8 }; // morceau pour avoir un tableau avec des valeurs mélangées int i; Random rand = new Random(); for (i = 0; i < 8; i++) { int r = rand.Next(1, 8); int tmp = t[i]; t[i] = t[r]; t[r] = tmp; } int n = 1; i = 0; while (n < 5) { sqlCmd.Connection = SqlConn; Rencontres.joueur1 = t[i]; Rencontres.joueur2 = t[i + 1]; i = i + 2; Rencontres.tables = n; Rencontres.arbitre = n; Rencontres.idp = 4; sqlCmd.Parameters.Clear(); sqlCmd.CommandText = "insert into rencontres(idr,joueur1,joueur2,vainqueur,tables,arbitre,phase,score)" + " values(@idr,@joueur1,@joueur2,null,@tables,@arbitre,@phase,null)"; sqlCmd.Parameters.Add("@idr", SqlDbType.Int).Value = Rencontres.idr; sqlCmd.Parameters.Add("@joueur1", SqlDbType.Int).Value = Rencontres.joueur1; sqlCmd.Parameters.Add("@joueur2", SqlDbType.Int).Value = Rencontres.joueur2; //sqlCmd.Parameters.Add("@vainqueur", SqlDbType.Int).Value = NE PAS METTRE LA VALEUR ICI MAIS DIRECT DANS LA REQUETE SQL sqlCmd.Parameters.Add("@tables", SqlDbType.Int).Value = Rencontres.tables; sqlCmd.Parameters.Add("@arbitre", SqlDbType.Int).Value = Rencontres.arbitre; sqlCmd.Parameters.Add("@phase", SqlDbType.Int).Value = Rencontres.idp; //sqlCmd.Parameters.Add("@score", SqlDbType.Char).Value = NE PAS METTRE LA VALEUR ICI MAIS DIRECT DANS LA REQUETE SQL ok = ok + sqlCmd.ExecuteNonQuery(); Rencontres.idr = Rencontres.idr + 1; n++; } } catch (Exception e) { throw new ExceptionAccesDB(sqlCmd.CommandText, e.Message); } return(ok); }