/// <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;
            }
        }
        private void cboxVisites_SelectedIndexChanged(object sender, EventArgs e)
        {
            visiteSelectionnee = (Visite)cboxVisites.SelectedItem;

            //Affichage des informations de la visite dans les combobox
            txtDateVisite.Text   = visiteSelectionnee.getDateVisite().ToShortDateString();
            txtHeureArrivee.Text = visiteSelectionnee.getHeureArriveeCabinet();
            txtHeureDebut.Text   = visiteSelectionnee.getHeureDebutEntretien();
            txtHeureDepart.Text  = visiteSelectionnee.getHeureDepartCabinet();
            txtMedecin.Text      = visiteSelectionnee.getLeMedecin().ToString();

            if (visiteSelectionnee.getEstVisiteProgramme())
            {
                txtVisiteProgrammee.Text = "Oui";
            }
            else
            {
                txtVisiteProgrammee.Text = "Non";
            }
        }
        /// <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;
            }
        }
        private void ModifierVisite_Load(object sender, EventArgs e)
        {
            //Initialisation des listes
            uneListeDeCabinet  = PasserelleSuiviA.initListeCabinet();
            uneListeDeVisiteur = PasserelleSuiviA.initListeActeur();
            uneListeDeMedecin  = PasserelleSuiviA.initListeMedecin();
            leVisiteurConnecte = PasserelleSuiviA.getActeurConnecte();
            uneListeDeVisite   = PasserelleSuiviA.initListeVisite(leVisiteurConnecte.getIdActeur());
            laVisiteAModifier  = PasserelleSuiviA.getVisiteAModifier();


            //Ajout des éléments dans le combobox Cabinet
            var bindingListCabinet = new BindingList <Cabinet>(uneListeDeCabinet);
            var sourceCabinet      = new BindingSource(bindingListCabinet, null);

            cboxCabinet.DataSource = sourceCabinet;


            //Ajout des éléments dans le combobox Médecin
            var bindingListMedecin = new BindingList <Medecin>(uneListeDeMedecin);
            var sourceMedecin      = new BindingSource(bindingListMedecin, null);

            cboxMedecin.DataSource = sourceMedecin;


            // Valeur par défaut du combobox correspondant au Cabinet de la Visite à modifier
            int positionCabinet = donnePositionCabinet(laVisiteAModifier.getLeMedecin().getLeCabinet());

            sourceCabinet.Position = positionCabinet;

            // Valeur par défaut du combobox correspondant au Médecin de la Visite à modifier
            int positionMedecin = donnePositionMedecin(laVisiteAModifier.getLeMedecin());

            sourceMedecin.Position = positionMedecin;


            // Valeur par défaut du choix du rendez-vous
            if (laVisiteAModifier.getEstVisiteProgramme())
            {
                rdbtnOui.Checked = true;
            }
            else
            {
                rdbtnNon.Checked = true;
            }

            // Valeur par défaut de l'heure d'arrivée
            txtHeureArrivee.Text  = laVisiteAModifier.getHeureArriveeCabinet().Substring(0, 2);
            txtMinuteArrivee.Text = laVisiteAModifier.getHeureArriveeCabinet().Substring(3, 2);

            // Valeur par défaut de l'heure de début
            txtHeureDebut.Text  = laVisiteAModifier.getHeureDebutEntretien().Substring(0, 2);
            txtMinuteDebut.Text = laVisiteAModifier.getHeureDebutEntretien().Substring(3, 2);

            // Valeur par défaut de l'heure de départ
            txtHeureDepart.Text  = laVisiteAModifier.getHeureDepartCabinet().Substring(0, 2);
            txtMinuteDepart.Text = laVisiteAModifier.getHeureDepartCabinet().Substring(3, 2);

            // Valeur par défaut du calendrier
            calendrierDate.SetDate(laVisiteAModifier.getDateVisite());
        }
示例#5
0
        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);
        }
示例#6
0
        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
        }