/// <summary> /// Permet de supprimer une visite de la base de données /// Méthode utilisé seulement dans les tests pour éviter de se retrouver avec des médecins factice /// </summary> /// <param name="unMedecin">Un objet Medecin</param> public static void supprimerMedecin(Medecin unMedecin) { 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 `medecin` WHERE `id` = @idMedecin;"; maCommande.Parameters.AddWithValue("@idMedecin", unMedecin.getIdMedecin()); // 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(); } catch (Exception erreur) { // Permet la gestion des erreurs throw erreur; } }
/// <summary> /// Parcours les médecin et retourne l'index du médecin de la visite à modifier /// </summary> /// <param name="leMedecin"></param> /// <returns></returns> public int donnePositionMedecin(Medecin leMedecin) { int position = -1; int i = 0; Boolean trouver = false; while (i < uneListeDeMedecin.Count && !trouver) { if (leMedecin.getIdMedecin() == uneListeDeMedecin[i].getIdMedecin()) { position = i; trouver = true; } else { i++; } } return(position); }
/// <summary> /// Permet de mettre à jour un médecin et son visiteur présent en base de données /// </summary> /// <param name="unMedecin">Un objet Medecin</param> public static void metAJourMedecinEtActeur(Medecin unMedecin) { 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 `medecin` SET `nom`=@nom,`prenom`=@prenom, `idActeur`=@idActeur WHERE `id` = @idMedecin;"; maCommande.Parameters.AddWithValue("@idMedecin", unMedecin.getIdMedecin()); maCommande.Parameters.AddWithValue("@nom", unMedecin.getNom()); maCommande.Parameters.AddWithValue("@prenom", unMedecin.getPrenom()); maCommande.Parameters.AddWithValue("@idActeur", unMedecin.getLActeur().getIdActeur()); // 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(); } catch (Exception erreur) { // Permet la gestion des erreurs throw erreur; } }
public void testGettersMedecin() { #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éation 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); Medecin unMedecinV2 = new Medecin(idMedecin, nomMedecin, prenomMedecin, unCabinet); #endregion #region Avec constructeur 1 string resultatAttendu = nomMedecin; string resultatObtenu = unMedecin.getNom(); Assert.AreEqual(resultatAttendu, resultatObtenu); string resultatAttendu2 = prenomMedecin; string resultatObtenu2 = unMedecin.getPrenom(); Assert.AreEqual(resultatAttendu2, resultatObtenu2); Acteur resultatAttendu3 = unActeur; Acteur resultatObtenu3 = unMedecin.getLActeur(); Assert.AreEqual(resultatAttendu3, resultatObtenu3); Cabinet resultatAttendu4 = unCabinet; Cabinet resultatObtenu4 = unMedecin.getLeCabinet(); Assert.AreEqual(resultatAttendu4, resultatObtenu4); string resultatAttendu5 = unMedecin.getNom() + " " + unMedecin.getPrenom(); string resultatObtenu5 = unMedecin.ToString(); Assert.AreEqual(resultatAttendu5, resultatObtenu5); int resultatAttendu6 = idMedecin; int resultatObtenu6 = unMedecin.getIdMedecin(); Assert.AreEqual(resultatAttendu6, resultatObtenu6); #endregion #region Avec constructeur 2 string resultatAttenduV2 = nomMedecin; string resultatObtenuV2 = unMedecinV2.getNom(); Assert.AreEqual(resultatAttenduV2, resultatObtenuV2); string resultatAttendu2V2 = prenomMedecin; string resultatObtenu2V2 = unMedecinV2.getPrenom(); Assert.AreEqual(resultatAttendu2V2, resultatObtenu2V2); Acteur resultatAttendu3V2 = null; Acteur resultatObtenu3V2 = unMedecinV2.getLActeur(); Assert.AreEqual(resultatAttendu3V2, resultatObtenu3V2); Cabinet resultatAttendu4V2 = unCabinet; Cabinet resultatObtenu4V2 = unMedecinV2.getLeCabinet(); Assert.AreEqual(resultatAttendu4V2, resultatObtenu4V2); string resultatAttendu5V2 = unMedecinV2.getNom() + " " + unMedecinV2.getPrenom(); string resultatObtenu5V2 = unMedecinV2.ToString(); Assert.AreEqual(resultatAttendu5V2, resultatObtenu5V2); int resultatAttendu6V2 = idMedecin; int resultatObtenu6V2 = unMedecinV2.getIdMedecin(); Assert.AreEqual(resultatAttendu6V2, resultatObtenu6V2); #endregion }
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 }
public void testCRUDMedecinSansActeurAuDebut() { #region Création du médecin 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); #endregion #region Ajout du médecin créé localement en BDD // On ajoute en BDD le médecin et le cabinet créé PasserelleSuiviA.ajoutCabinet(unCabinet); #region On cherche a 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++; } unMedecin.setCabinet(unCabinet); #endregion PasserelleSuiviA.ajoutMedecinSansVisiteur(unMedecin); // On récupère la nouvelle liste des médecins PasserelleSuiviA.initListeActeur(); PasserelleSuiviA.initListeCabinet(); List <Medecin> laListeDeMedecinATester_AjoutViaMethode = PasserelleSuiviA.initListeMedecin(); #endregion #region Vérification de l'existance du médecin 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 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++; } Assert.AreEqual(leMedecinQuOnCherche.ToString(), unMedecin.ToString()); #endregion #region Modification du médecin en BDD // On modifie les attributs du médecin (actuellement présent en local) unMedecin.setNom("Testeur"); unMedecin.setPrenom("Le"); unMedecin.setActeur(unActeur); // On modifie le médecin en BDD PasserelleSuiviA.metAJourMedecinEtActeur(unMedecin); // On récupère la nouvelle liste des médecins laListeDeMedecinATester_AjoutViaMethode = PasserelleSuiviA.initListeMedecin(); // On déclare et initialise des variables qui nous serviront à vérifier que l'objet à bien été modifié en BDD compteur = 0; medecinTrouveOuPas = false; leMedecinQuOnCherche = null; Boolean valeurDuMedecinModifieOuPas = false; while (medecinTrouveOuPas == false && compteur < laListeDeMedecinATester_AjoutViaMethode.Count()) { leMedecinQuOnCherche = laListeDeMedecinATester_AjoutViaMethode[compteur]; if (leMedecinQuOnCherche.getNom() == unMedecin.getNom() && leMedecinQuOnCherche.getPrenom() == unMedecin.getPrenom()) { medecinTrouveOuPas = true; valeurDuMedecinModifieOuPas = true; } compteur++; } Assert.AreEqual(true, valeurDuMedecinModifieOuPas); #endregion #region Suppression du médecin en BDD et vérification de sa suppression // Suppression du médecin et du cabinet en BDD PasserelleSuiviA.supprimerMedecin(unMedecin); PasserelleSuiviA.supprimerCabinet(unCabinet); // On récupère la nouvelle liste des médecins et des cabinets laListeDeCabinetATester_AjoutViaMethode = PasserelleSuiviA.initListeCabinet(); laListeDeMedecinATester_AjoutViaMethode = PasserelleSuiviA.initListeMedecin(); // On déclare et initialise des variables qui nous serviront à vérifier que l'objet à bien été supprimer compteur = 0; medecinTrouveOuPas = false; leMedecinQuOnCherche = 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 (medecinTrouveOuPas == false && compteur < laListeDeMedecinATester_AjoutViaMethode.Count()) { leMedecinQuOnCherche = laListeDeMedecinATester_AjoutViaMethode[compteur]; if (leMedecinQuOnCherche.getIdMedecin() == unMedecin.getIdMedecin()) { medecinTrouveOuPas = true; } compteur++; } Assert.AreEqual(false, medecinTrouveOuPas); #endregion }