// But : Permet d'ajouter un Livrable // Paramètres : Objet de connexion SQLite public static void AjouterLivrable(SQLiteConnection maConnexion) { // dernier id livrable long lastId = ChercherDernierIdLivrable(maConnexion) + 1; // Nature du livrable string natureLivrable = ""; do { Console.WriteLine("Entrer la nature du livrable que vous souhaitez ajouter : "); natureLivrable = Console.ReadLine(); } while (natureLivrable.Length < 1); // Création de l'objet Livrable Livrable l = new Livrable((int)lastId, natureLivrable); // On appelle la fonction pour ajouter un livrable en BD AjouterLivrableBD(maConnexion, l); }
// But : Permet de créer une liste des livrables rendus pour un projet // Paramètres : Objet de connexion SQLite et un projet_id // Retourne : Une liste contenant les livrables associés à un projet public static ArrayList CreerListeLivrables(int projet_id, SQLiteConnection maConnexion) { // Initialisation de la liste ArrayList listeL = new ArrayList(); // Requete préparée pour recup tous les livrable_id qui sont associés au projet_id donné var cmd = new SQLiteCommand(maConnexion); cmd.CommandText = "SELECT * FROM rendu WHERE projet_id = @projet_id"; cmd.Parameters.AddWithValue("@projet_id", projet_id); cmd.Prepare(); SQLiteDataReader reader = cmd.ExecuteReader(); // Tant qu'il y a un livrable_id à lire while (reader.Read()) { // On recup les donnees du livrable var cmdLivrable = new SQLiteCommand(maConnexion); cmdLivrable.CommandText = "SELECT * FROM livrable WHERE livrable_id = @livrable_id"; cmdLivrable.Parameters.AddWithValue("@livrable_id", (int)reader["livrable_id"]); cmdLivrable.Prepare(); SQLiteDataReader reader2 = cmdLivrable.ExecuteReader(); // Attributs DateTime rendu_date = DateTime.Parse((string)reader["rendu_date"]); double note = (double)reader["rendu_note"]; // On cree les livrables while (reader2.Read()) { // Création de l'objet livrable Livrable livrable = new Livrable((int)reader2["livrable_id"], (string)reader2["livrable_nature"], rendu_date, note); // On ajoute l'objet à la liste listeL.Add(livrable); } } // On retourne la liste return(listeL); }
// But : Permet d'ajouter un livrable en BD // Paramètres : Objet de connexion SQLite, un objet Livrable public static void AjouterLivrableBD(SQLiteConnection maConnexion, Livrable l) { // On vérifie que le livrable n'a pas déjà été ajouté en BD var cmd = new SQLiteCommand(maConnexion); cmd.CommandText = "SELECT * FROM livrable WHERE livrable_nature = @livrable_nature"; cmd.Parameters.AddWithValue("@livrable_nature", l.NatureLivrable); cmd.Prepare(); SQLiteDataReader reader = cmd.ExecuteReader(); bool existe = false; while (reader.Read()) { existe = true; } reader.Close(); if (existe) { Console.WriteLine("Ajout impossible, ce livrable existe déjà"); } else // le livrable n'existe pas { // Insertion de données dans la table Livrable cmd = new SQLiteCommand(maConnexion); cmd.CommandText = "INSERT INTO livrable VALUES (@idL, @nomL)"; cmd.Parameters.AddWithValue("@idL", l.IdLivrable); cmd.Parameters.AddWithValue("@nomL", l.NatureLivrable); cmd.Prepare(); if (cmd.ExecuteNonQuery() == 1) { Console.WriteLine("Insertion correctement effectuée"); } else { Console.WriteLine("Une erreur est survenue dans l'insertion"); } } }