/// <summary> /// Permet d'insérer un objet Visite en base de données /// </summary> /// <param name="uneVisite">Un objet Visite</param> public static void ajoutVisiste(Visite uneVisite) { try { // Ouverture de la connection MySqlConnection maConnection = new MySqlConnection(connectionString); maConnection.Open(); // Création de la requête MySqlCommand maCommande = maConnection.CreateCommand(); maCommande.CommandText = "INSERT INTO `visite`(`dateVisite`, `estVisiteProgramme`, `heureArriveeCabinet`, `heureDebutEntretien`, `heureDepartCabinet`, `idMedecin`, `idActeur`) VALUES (@dateVisite, @estVisiteProgramme, @heureArriveeCabinet, @heureDebutEntretien, @heureDepartCabinet, @idMedecin, @idActeur);"; // On associe les attributs de l'objet passé en paramètre à ceux de la requête maCommande.Parameters.AddWithValue("@dateVisite", uneVisite.getDateVisite()); maCommande.Parameters.AddWithValue("@estVisiteProgramme", uneVisite.getEstVisiteProgramme()); maCommande.Parameters.AddWithValue("@heureArriveeCabinet", uneVisite.getHeureArriveeCabinet()); maCommande.Parameters.AddWithValue("@heureDebutEntretien", uneVisite.getHeureDebutEntretien()); maCommande.Parameters.AddWithValue("@heureDepartCabinet", uneVisite.getHeureDepartCabinet()); maCommande.Parameters.AddWithValue("@idMedecin", uneVisite.getLeMedecin().getIdMedecin()); maCommande.Parameters.AddWithValue("@idActeur", uneVisite.getLActeur().getIdActeur()); // Exécution de la requête maCommande.ExecuteNonQuery(); maCommande.Clone(); // On se synchronise avec la BDD PasserelleSuiviA.initListeCabinet(); PasserelleSuiviA.initListeActeur(); PasserelleSuiviA.initListeMedecin(); PasserelleSuiviA.initListeVisite(uneVisite.getLActeur().getIdActeur()); } catch (Exception erreur) { // Permet la gestion des erreurs throw erreur; } }
/// <summary> /// Permet de mettre à jour une visite présente en base de données /// </summary> /// <param name="uneVisite">Un objet Visite</param> public static void metAJourVisite(Visite uneVisite) { try { // Ouverture de la connection MySqlConnection maConnection = new MySqlConnection(connectionString); maConnection.Open(); // Création de la requête MySqlCommand maCommande = maConnection.CreateCommand(); // On se sert de l'objet passé en paramètre pour modifier plusieurs champs maCommande.CommandText = "UPDATE `visite` SET `dateVisite`=@dateVisite,`estVisiteProgramme`=@estVisiteProgramme,`heureArriveeCabinet`=@heureArriveeCabinet,`heureDebutEntretien`=@heureDebutEntretien,`heureDepartCabinet`=@heureDepartCabinet WHERE `id` = @idVisite;"; maCommande.Parameters.AddWithValue("@idVisite", uneVisite.getIdVisite()); maCommande.Parameters.AddWithValue("@dateVisite", uneVisite.getDateVisite()); maCommande.Parameters.AddWithValue("@estVisiteProgramme", uneVisite.getEstVisiteProgramme()); maCommande.Parameters.AddWithValue("@heureArriveeCabinet", uneVisite.getHeureArriveeCabinet()); maCommande.Parameters.AddWithValue("@heureDebutEntretien", uneVisite.getHeureDebutEntretien()); maCommande.Parameters.AddWithValue("@heureDepartCabinet", uneVisite.getHeureDepartCabinet()); // Exécution de la requête maCommande.ExecuteNonQuery(); // Fermeture de la connection maConnection.Close(); // On va se synchroniser avec la base de données PasserelleSuiviA.initListeCabinet(); PasserelleSuiviA.initListeActeur(); PasserelleSuiviA.initListeMedecin(); PasserelleSuiviA.initListeVisite(uneVisite.getLActeur().getIdActeur()); } catch (Exception erreur) { // Permet la gestion des erreurs throw erreur; } }
/// <summary> /// Permet de supprimer une visite de la base de données /// </summary> /// <param name="uneVisite">Un objet Visite</param> public static void supprimerVisite(Visite uneVisite) { try { // Ouverture de la connection MySqlConnection maConnection = new MySqlConnection(connectionString); maConnection.Open(); // Création de la requête MySqlCommand maCommande = maConnection.CreateCommand(); // On se sert de l'objet passé en paramètre pour supprimer le bon champs maCommande.CommandText = "DELETE FROM `visite` WHERE `id` = @idVisite;"; maCommande.Parameters.AddWithValue("@idVisite", uneVisite.getIdVisite()); // Exécution de la requête maCommande.ExecuteNonQuery(); // Fermeture de la connection maConnection.Close(); // On ve se synchroniser avec la base de données PasserelleSuiviA.initListeCabinet(); PasserelleSuiviA.initListeActeur(); PasserelleSuiviA.initListeMedecin(); PasserelleSuiviA.initListeVisite(uneVisite.getLActeur().getIdActeur()); } catch (Exception erreur) { // Permet la gestion des erreurs throw erreur; } }
public void testGettersVisite() { #region Création acteur string idActeur = TestContext.DataRow["idActeur"].ToString(); string nomActeur = TestContext.DataRow["nomActeur"].ToString(); string prenomActeur = TestContext.DataRow["prenomActeur"].ToString(); string login = TestContext.DataRow["login"].ToString(); string MDP = TestContext.DataRow["MDP"].ToString(); int typeActeur = int.Parse(TestContext.DataRow["typeActeur"].ToString()); Acteur unActeur = new Acteur(idActeur, nomActeur, prenomActeur, login, MDP, typeActeur); #endregion #region Créations cabinet int idCabinet = int.Parse(TestContext.DataRow["idCabinet"].ToString()); string longitudeGPS = TestContext.DataRow["longitudeGPS"].ToString(); string latitudeGPS = TestContext.DataRow["latitudeGPS"].ToString(); string ville = TestContext.DataRow["ville"].ToString(); string rue = TestContext.DataRow["rue"].ToString(); string cp = TestContext.DataRow["cp"].ToString(); Cabinet unCabinet = new Cabinet(idCabinet, rue, ville, cp); #endregion #region Création médecin int idMedecin = int.Parse(TestContext.DataRow["idMedecin"].ToString()); string nomMedecin = TestContext.DataRow["nomMedecin"].ToString(); string prenomMedecin = TestContext.DataRow["prenomMedecin"].ToString(); Medecin unMedecin = new Medecin(idMedecin, nomMedecin, prenomMedecin, unCabinet, unActeur); #endregion #region Création visite int idVisite = int.Parse(TestContext.DataRow["idVisite"].ToString()); int dateVisiteJour = int.Parse(TestContext.DataRow["dateVisiteJour"].ToString()); int dateVisiteMois = int.Parse(TestContext.DataRow["dateVisiteMois"].ToString()); int dateVisiteAnnee = int.Parse(TestContext.DataRow["dateVisiteAnnee"].ToString()); DateTime dateVisite = new DateTime(dateVisiteAnnee, dateVisiteMois, dateVisiteJour); string heureArriveeCabinet = TestContext.DataRow["heureArriveeCabinet"].ToString(); string heureDebutEntretien = TestContext.DataRow["heureDebutEntretien"].ToString(); string heureDepartCabinet = TestContext.DataRow["heureDepartCabinet"].ToString(); Boolean estVisiteProgramme = Boolean.Parse(TestContext.DataRow["estVisiteProgramme"].ToString()); Visite uneVisite = new Visite(idVisite, dateVisite, estVisiteProgramme, heureArriveeCabinet, heureDebutEntretien, heureDepartCabinet, unMedecin, unActeur); #endregion DateTime resultatAttendu = dateVisite; DateTime resultatObtenu = uneVisite.getDateVisite(); Assert.AreEqual(resultatAttendu, resultatObtenu); int resultatAttendu2 = idVisite; int resultatObtenu2 = uneVisite.getIdVisite(); Assert.AreEqual(resultatAttendu2, resultatObtenu2); string resultatAttendu3 = heureArriveeCabinet; string resultatObtenu3 = uneVisite.getHeureArriveeCabinet(); Assert.AreEqual(resultatAttendu3, resultatObtenu3); string resultatAttendu4 = heureDebutEntretien; string resultatObtenu4 = uneVisite.getHeureDebutEntretien(); Assert.AreEqual(resultatAttendu4, resultatObtenu4); string resultatAttendu5 = heureDepartCabinet; string resultatObtenu5 = uneVisite.getHeureDepartCabinet(); Assert.AreEqual(resultatAttendu5, resultatObtenu5); Medecin resultatAttendu6 = unMedecin; Medecin resultatObtenu6 = uneVisite.getLeMedecin(); Assert.AreEqual(resultatAttendu6, resultatObtenu6); Acteur resultatAttendu7 = unActeur; Acteur resultatObtenu7 = uneVisite.getLActeur(); Assert.AreEqual(resultatAttendu7, resultatObtenu7); string resultatAttendu8 = uneVisite.getIdVisite().ToString() + " - " + "Médecin : " + uneVisite.getLeMedecin().getNom() + ", Visiteur : " + uneVisite.getLActeur().getNom() + ", Date : " + uneVisite.getDateVisite().ToShortDateString(); string resultatObtenu8 = uneVisite.ToString(); Assert.AreEqual(resultatAttendu8, resultatObtenu8); Boolean resultatAttendu9 = estVisiteProgramme; Boolean resultatObtenu9 = uneVisite.getEstVisiteProgramme(); Assert.AreEqual(resultatAttendu9, resultatObtenu9); }
public void testCRUDVisite() { #region Création de la visite localement // Récupération des valeurs string idActeur = TestContext.DataRow["idActeur"].ToString(); string nomActeur = TestContext.DataRow["nomActeur"].ToString(); string prenomActeur = TestContext.DataRow["prenomActeur"].ToString(); string login = TestContext.DataRow["login"].ToString(); string MDP = TestContext.DataRow["MDP"].ToString(); int typeActeur = int.Parse(TestContext.DataRow["typeActeur"].ToString()); // Création de l'objet Acteur Acteur unActeur = new Acteur(idActeur, nomActeur, prenomActeur, login, MDP, typeActeur); int idCabinet = int.Parse(TestContext.DataRow["idCabinet"].ToString()); string longitudeGPS = TestContext.DataRow["longitudeGPS"].ToString(); string latitudeGPS = TestContext.DataRow["latitudeGPS"].ToString(); string ville = TestContext.DataRow["ville"].ToString(); string rue = TestContext.DataRow["rue"].ToString(); string cp = TestContext.DataRow["cp"].ToString(); // Création de l'objet Cabinet Cabinet unCabinet = new Cabinet(idCabinet, rue, ville, cp); int idMedecin = int.Parse(TestContext.DataRow["idMedecin"].ToString()); string nomMedecin = TestContext.DataRow["nomMedecin"].ToString(); string prenomMedecin = TestContext.DataRow["prenomMedecin"].ToString(); // Création de l'objet Medecin Medecin unMedecin = new Medecin(idMedecin, nomMedecin, prenomMedecin, unCabinet, unActeur); int idVisite = int.Parse(TestContext.DataRow["idVisite"].ToString()); int dateVisiteJour = int.Parse(TestContext.DataRow["dateVisiteJour"].ToString()); int dateVisiteMois = int.Parse(TestContext.DataRow["dateVisiteMois"].ToString()); int dateVisiteAnnee = int.Parse(TestContext.DataRow["dateVisiteAnnee"].ToString()); DateTime dateVisite = new DateTime(dateVisiteAnnee, dateVisiteMois, dateVisiteJour); string heureArriveeCabinet = TestContext.DataRow["heureArriveeCabinet"].ToString(); string heureDebutEntretien = TestContext.DataRow["heureDebutEntretien"].ToString(); string heureDepartCabinet = TestContext.DataRow["heureDepartCabinet"].ToString(); Boolean estVisiteProgramme = Boolean.Parse(TestContext.DataRow["estVisiteProgramme"].ToString()); // Création de l'objet Visite Visite uneVisite = new Visite(idVisite, dateVisite, estVisiteProgramme, heureArriveeCabinet, heureDebutEntretien, heureDepartCabinet, unMedecin, unActeur); #endregion #region Ajout de la visite créé localement en BDD // On ajoute en BDD le médecin, la visite et le cabinet créé PasserelleSuiviA.ajoutCabinet(unCabinet); #region On cherche à obtenir le bon ID du cabinet // On récupère la nouvelle liste des cabinets List <Cabinet> laListeDeCabinetATester_AjoutViaMethode = PasserelleSuiviA.initListeCabinet(); // On déclare et initialise des variables qui nous serviront à récupérer un objet spécifique dans une liste int compteur = 0; Boolean cabinetTrouveOuPas = false; Cabinet leCabinetQuOnCherche = null; while (cabinetTrouveOuPas == false && compteur < laListeDeCabinetATester_AjoutViaMethode.Count()) { leCabinetQuOnCherche = laListeDeCabinetATester_AjoutViaMethode[compteur]; if (leCabinetQuOnCherche.getRue() == unCabinet.getRue() && leCabinetQuOnCherche.getVille() == unCabinet.getVille() && leCabinetQuOnCherche.getCP() == unCabinet.getCP()) { // Permet d'avoir le même identifiant que l'objet en base // En BDD, comme l'ID est auto incrémenté, on ne peut pas le connaître à l'avance, d'où la nécessité de le retrouver. unCabinet.setIdCabinet(leCabinetQuOnCherche.getIdCabinet()); cabinetTrouveOuPas = true; } compteur++; } // On change le cabinet associé au médecin (afin qu'il est le bon ID) unMedecin.setCabinet(unCabinet); #endregion PasserelleSuiviA.ajoutMedecin(unMedecin); #region On cherche à obtenir le bon ID du médecin // On récupère la nouvelle liste des médecins PasserelleSuiviA.initListeActeur(); PasserelleSuiviA.initListeCabinet(); List <Medecin> laListeDeMedecinATester_AjoutViaMethode = PasserelleSuiviA.initListeMedecin(); // On déclare et initialise des variables qui nous serviront à récupérer un objet spécifique dans une liste compteur = 0; Boolean medecinTrouveOuPas = false; Medecin leMedecinQuOnCherche = null; while (medecinTrouveOuPas == false && compteur < laListeDeMedecinATester_AjoutViaMethode.Count()) { leMedecinQuOnCherche = laListeDeMedecinATester_AjoutViaMethode[compteur]; if (leMedecinQuOnCherche.getNom() == unMedecin.getNom() && leMedecinQuOnCherche.getPrenom() == unMedecin.getPrenom()) { // Permet d'avoir le même identifiant que l'objet en base // En BDD, comme l'ID est auto incrémenté, on ne peut pas le connaître à l'avance, d'où la nécessité de le retrouver. unMedecin.setIdMedecin(leMedecinQuOnCherche.getIdMedecin()); medecinTrouveOuPas = true; } compteur++; } // On change le médecin associé à la visite (afin qu'il est le bon ID) uneVisite.setMedecin(unMedecin); #endregion PasserelleSuiviA.ajoutVisiste(uneVisite); // On récupère la nouvelle liste des visites List <Visite> laListeDeVisiteATester_AjoutViaMethode = PasserelleSuiviA.initListeVisite(uneVisite.getLActeur().getIdActeur()); #endregion #region Vérification de l'existance de la visite en BDD // On déclare et initialise des variables qui nous serviront à récupérer un objet spécifique dans une liste compteur = 0; Boolean visiteTrouveOuPas = false; Visite laVisiteQuOnCherche = null; while (visiteTrouveOuPas == false && compteur < laListeDeVisiteATester_AjoutViaMethode.Count()) { laVisiteQuOnCherche = laListeDeVisiteATester_AjoutViaMethode[compteur]; if (laVisiteQuOnCherche.getHeureArriveeCabinet() == uneVisite.getHeureArriveeCabinet() && laVisiteQuOnCherche.getHeureDebutEntretien() == uneVisite.getHeureDebutEntretien() && laVisiteQuOnCherche.getHeureDepartCabinet() == uneVisite.getHeureDepartCabinet() && laVisiteQuOnCherche.getEstVisiteProgramme() == uneVisite.getEstVisiteProgramme() && laVisiteQuOnCherche.getDateVisite() == uneVisite.getDateVisite()) { // Permet d'avoir le même identifiant que l'objet en base // En BDD, comme l'ID est auto incrémenté, on ne peut pas le connaître à l'avance, d'où la nécessité de le retrouver. uneVisite.setIdVisite(laVisiteQuOnCherche.getIdVisite()); visiteTrouveOuPas = true; } compteur++; } Assert.AreEqual(laVisiteQuOnCherche.ToString(), uneVisite.ToString()); #endregion #region Modification de la visite en BDD // On modifie les attributs de la visite (actuellement présent en local) uneVisite.setDateVisite(new DateTime(1997, 03, 17)); uneVisite.setEstVisiteProgramme(false); uneVisite.setHeureArriveeCabinet("14h00"); uneVisite.setHeureDebutEntretien("14h30"); uneVisite.setHeureDepartCabinet("15h00"); // On modifie la visite en BDD PasserelleSuiviA.metAJourVisite(uneVisite); // On récupère la nouvelle liste des visites laListeDeVisiteATester_AjoutViaMethode = PasserelleSuiviA.initListeVisite(uneVisite.getLActeur().getIdActeur()); // On déclare et initialise des variables qui nous serviront à vérifier que l'objet à bien été modifié en BDD compteur = 0; visiteTrouveOuPas = false; laVisiteQuOnCherche = null; Boolean valeurDeVisiteModifieOuPas = false; while (visiteTrouveOuPas == false && compteur < laListeDeVisiteATester_AjoutViaMethode.Count()) { laVisiteQuOnCherche = laListeDeVisiteATester_AjoutViaMethode[compteur]; if (laVisiteQuOnCherche.getHeureArriveeCabinet() == uneVisite.getHeureArriveeCabinet() && laVisiteQuOnCherche.getHeureDebutEntretien() == uneVisite.getHeureDebutEntretien() && laVisiteQuOnCherche.getHeureDepartCabinet() == uneVisite.getHeureDepartCabinet() && laVisiteQuOnCherche.getEstVisiteProgramme() == uneVisite.getEstVisiteProgramme() && laVisiteQuOnCherche.getDateVisite() == uneVisite.getDateVisite()) { visiteTrouveOuPas = true; valeurDeVisiteModifieOuPas = true; } compteur++; } Assert.AreEqual(true, valeurDeVisiteModifieOuPas); #endregion #region Suppression de la visite en BDD et vérification de sa suppression // Suppression du médecin, de la visite et du cabinet en BDD PasserelleSuiviA.supprimerVisite(uneVisite); PasserelleSuiviA.supprimerMedecin(unMedecin); PasserelleSuiviA.supprimerCabinet(unCabinet); // On récupère la nouvelle liste des visites, des cabinets et des médecins laListeDeCabinetATester_AjoutViaMethode = PasserelleSuiviA.initListeCabinet(); laListeDeMedecinATester_AjoutViaMethode = PasserelleSuiviA.initListeMedecin(); laListeDeVisiteATester_AjoutViaMethode = PasserelleSuiviA.initListeVisite(uneVisite.getLActeur().getIdActeur()); // On déclare et initialise des variables qui nous serviront à vérifier que l'objet à bien été supprimer compteur = 0; visiteTrouveOuPas = false; laVisiteQuOnCherche = null; // On vérifie que l'objet à bien été surrpimé de la BDD // Il est possible qu'on ne passe jamais dans cet boucle (notamment si la liste est vide) while (visiteTrouveOuPas == false && compteur < laListeDeVisiteATester_AjoutViaMethode.Count()) { laVisiteQuOnCherche = laListeDeVisiteATester_AjoutViaMethode[compteur]; if (laVisiteQuOnCherche.getIdVisite() == uneVisite.getIdVisite()) { visiteTrouveOuPas = true; } compteur++; } Assert.AreEqual(false, visiteTrouveOuPas); #endregion }