/// <summary> /// Permet de supprimer un cabinet de la base de données /// Méthode utilisé seulement dans les tests pour éviter de se retrouver avec des cabinets factice /// </summary> /// <param name="unCabinet">Un objet Cabinet</param> public static void supprimerCabinet(Cabinet unCabinet) { 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 `cabinet` WHERE `id` = @idCabinet;"; maCommande.Parameters.AddWithValue("@idCabinet", unCabinet.getIdCabinet()); // 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(); } catch (Exception erreur) { // Permet la gestion des erreurs throw erreur; } }
/// <summary> /// Permet d'insérer un objet Medecin sans visiteur en base de données /// </summary> /// <param name="unMedecin">Un objet Medecin</param> public static void ajoutMedecinSansVisiteur(Medecin unMedecin) { 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 `medecin`(`nom`, `prenom`, `idCabinet`) VALUES (@nom, @prenom, @idCabinet);"; // On associe les attributs de l'objet passé en paramètre à ceux de la requête maCommande.Parameters.AddWithValue("@nom", unMedecin.getNom()); maCommande.Parameters.AddWithValue("@prenom", unMedecin.getPrenom()); maCommande.Parameters.AddWithValue("@idCabinet", unMedecin.getLeCabinet().getIdCabinet()); // Exécution de la requête maCommande.ExecuteNonQuery(); maCommande.Clone(); // On se synchronise avec la BDD PasserelleSuiviA.initListeCabinet(); PasserelleSuiviA.initListeActeur(); PasserelleSuiviA.initListeMedecin(); } catch (Exception erreur) { // Permet la gestion des erreurs throw erreur; } }
/// <summary> /// Permet d'insérer un objet Cabinet en base de données /// </summary> /// <param name="unCabinet">Un objet Cabinet</param> public static void ajoutCabinet(Cabinet unCabinet) { 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 `cabinet`(`longitudeGPS`, `latitudeGPS`, `cp`, `ville`, `rue`) VALUES (@longitudeGPS, @latitudeGPS, @cp, @ville, @rue);"; // On associe les attributs de l'objet passé en paramètre à ceux de la requête maCommande.Parameters.AddWithValue("@longitudeGPS", unCabinet.getLongitudeGPS()); maCommande.Parameters.AddWithValue("@latitudeGPS", unCabinet.getLatitudeGPS()); maCommande.Parameters.AddWithValue("@cp", unCabinet.getCP()); maCommande.Parameters.AddWithValue("@ville", unCabinet.getVille()); maCommande.Parameters.AddWithValue("@rue", unCabinet.getRue()); // Exécution de la requête maCommande.ExecuteNonQuery(); maCommande.Clone(); // On se synchronise avec la BDD PasserelleSuiviA.initListeCabinet(); } 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 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 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; } }
/// <summary> /// Permet de mettre à jour un cabinet présent en base de données /// </summary> /// <param name="unCabinet">Un objet Cabinet</param> public static void metAJourCabinet(Cabinet unCabinet) { 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 `cabinet` SET `cp`=@cp,`ville`=@ville,`rue`=@rue WHERE `id` = @idCabinet;"; maCommande.Parameters.AddWithValue("@idCabinet", unCabinet.getIdCabinet()); maCommande.Parameters.AddWithValue("@cp", unCabinet.getCP()); maCommande.Parameters.AddWithValue("@ville", unCabinet.getVille()); maCommande.Parameters.AddWithValue("@rue", unCabinet.getRue()); // 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(); } catch (Exception erreur) { // Permet la gestion des erreurs throw erreur; } }
/// <summary> /// Permet de s'authentifier /// </summary> /// <param name="login">String</param> /// <param name="MDP">String</param> /// <param name="connexionViaActiveDirectory">Boolean</param> /// <returns>String</returns> public static string seConnecter(string login, string MDP, Boolean connexionViaActiveDirectory) { #region Cas sans Active Directory if (connexionViaActiveDirectory == false) { // Initialisation des variables nécessaires à la fonction et à la boucle tant que string typeUtilisateur = null; Boolean trouveOuPas = false; int compteur = 0; // On encode le mot de passe saisi par l'utilisateur et on le stocke dans un tableau byte[] unTab = Encoding.ASCII.GetBytes(MDP); // Création d'une classe permettant de crypter en SHA1 SHA1CryptoServiceProvider classeDeCryptage = new SHA1CryptoServiceProvider(); // On crypte en SHA1 string MDPCrypte = BitConverter.ToString(classeDeCryptage.ComputeHash(unTab)).Replace("-", ""); // Permet de parcourir la liste des acteurs pour savoir si le login et mot de passe sont bon while (trouveOuPas == false && compteur < uneListeDActeur.Count) { // On regarde si le login de l'acteur est celui entré par l'utilisateur if (uneListeDActeur[compteur].getLogin() == login) { // On regarde si le mot de passe de l'acteur est celui entré par l'utilisateur if (uneListeDActeur[compteur].getMDP().ToUpper() == MDPCrypte) { // On renvoit le type d'acteur // Cas où le login et le mot de passe sont correct if (uneListeDActeur[compteur].getTypeActeur() == 2) { // L'utilisateur est un "visiteur" typeUtilisateur = "Visiteur"; trouveOuPas = true; // On stocke l'acteur connecté dans un variable de la classe PasserelleSuiviA.setActeurConnecte(uneListeDActeur[compteur]); } else { // L'utilisateur est un "administrateur" ou un "comptable" ou autre typeUtilisateur = "Autre"; trouveOuPas = true; // On stocke l'acteur connecté dans un variable de la classe PasserelleSuiviA.setActeurConnecte(uneListeDActeur[compteur]); } } else { // Cas où le login saisi existe mais que le mot de passe correspondant est incorrect typeUtilisateur = "Incorrect"; // Mot de passe incorrect, on sort de la boucle trouveOuPas = true; } } else { // Cas où ce n'est pas le bon login typeUtilisateur = "Incorrect"; } compteur++; } // On retourne le type d'utilisateur return(typeUtilisateur); } #endregion #region Cas avec Active Directory else { // Initialisation des variables nécessaires à la fonction et à la boucle tant que string typeUtilisateur = null; Boolean trouveOuPas = false; int compteur = 0; // Permet de parcourir la liste des acteurs pour obtenir l'acteur qui a tenté de se connecter while (trouveOuPas == false && compteur < uneListeDActeur.Count) { // On regarde si le login de l'acteur est celui entré par l'utilisateur if (uneListeDActeur[compteur].getLogin() == login) { // On renvoit le type d'acteur // Cas où le login et le mot de passe sont correct if (uneListeDActeur[compteur].getTypeActeur() == 2) { // L'utilisateur est un "visiteur" typeUtilisateur = "Visiteur"; trouveOuPas = true; // On stocke l'acteur connecté dans un variable de la classe PasserelleSuiviA.setActeurConnecte(uneListeDActeur[compteur]); // On retourne le type d'utilisateur return(typeUtilisateur); } else { // L'utilisateur est un "administrateur" ou un "comptable" ou autre typeUtilisateur = "Autre"; trouveOuPas = true; // On stocke l'acteur connecté dans un variable de la classe PasserelleSuiviA.setActeurConnecte(uneListeDActeur[compteur]); // On retourne le type d'utilisateur return(typeUtilisateur); } } compteur++; } } #endregion return("Erreur de connexion"); }