public static void AddUsager(Usager usager, string motDePasseHash) { EtatAvecMessage retour = new EtatAvecMessage(); if (ConnexionBD.Instance().EstConnecte()) { string requete = string.Format("INSERT INTO Usagers " + "(idRole, idEmploye, nomUtilisateur, motDePasse) " + "VALUES (" + "(SELECT idEmploye FROM Employes WHERE numEmploye = '{0}'," + "(SELECT idRole FROM Roles WHERE role = '{1}'," + "'{2}'," + "'{3}'" , usager.NumEmploye, usager.RoleUsager.ToString(), usager.NomUtilisateur, motDePasseHash); DataModelEmploye.AddEmploye(usager); ConnexionBD.Instance().ExecuterRequete(requete); // TODO : Recevoir code erreur BD dans cas d'erreur (duplicata) } }
public static void AddEmploye(Employe employe) { EtatAvecMessage retour = new EtatAvecMessage(); if (ConnexionBD.Instance().EstConnecte()) { string requete = string.Format("INSERT INTO Employes " + "(idCitoyen, idPoste, numEmploye, numPermis, NAS) " + "VALUES (" + "(SELECT idCitoyen FROM Citoyens WHERE numAssuranceMaladie = '{0}'," + "(SELECT idPoste FROM Postes WHERE nom = '{1}'," + "'{2}'," + "'{3}'," + "'{4}'" , employe.AssMaladie, employe.Poste, employe.NumEmploye, employe.NumPermis, employe.NAS); //DataModelCitoyen.AddCitoyen(employe); ConnexionBD.Instance().ExecuterRequete(requete); // TODO : Recevoir code erreur BD dans cas d'erreur (duplicata) } }
public static EtatAvecMessage ValiderIdentite(string usager, string motDePasse) { EtatAvecMessage retour = new EtatAvecMessage(); if (ConnexionBD.Instance().EstConnecte()) { int nbUsagers = 0; string requete = string.Format("SELECT nomUtilisateur, motDePasse FROM Usagers WHERE nomUtilisateur = '{0}'", usager); ConnexionBD.Instance().ExecuterRequete( // TODO: prevent obvious sql injection exploit -- @Clément réglé? -- Nah ! requete, (MySqlDataReader lecteur) => { string nom = lecteur.GetString("nomUtilisateur"); string hash = lecteur.GetString("motDePasse"); if (Crypto.Verifier(motDePasse, hash)) { retour.Etat = true; } else { retour.Message = "Nom d'utilisateur ou mot de passe invalide"; } ++nbUsagers; } ); if (nbUsagers == 0) { retour.Message = "Nom d'utilisateur ou mot de passe invalide"; } } else { retour.Message = "Impossible de se connecter au service de données du système"; } return(retour); }