/// <summary> /// Deuxième constructeur de la licence de durée (dans le cas où elle n'est associée à aucun matériel) /// </summary> /// <param name="id">identifiant de la licence</param> /// <param name="nom">nom de la licence</param> /// <param name="date_debut">date du début de la licence</param> /// <param name="duree">duree de la licence (en années)</param> /// <param name="p">personne à qui cette licence est prêtée</param> public Licence_duree(int id, String nom, DateTime date_debut, int duree, Personne p) : base(id,p) { this.nom_version = nom; this.debut_licence = date_debut; this.duree_licence = duree; }
/// <summary> /// Constructeur du matériel /// </summary> /// <param name="id">identifiant du matériel</param> /// <param name="date_circulation">date de mise en circulation du matériel</param> /// <param name="garantie">nombre d'années de garantie du matériel</param> /// <param name="p">personne à qui ce matériel est prêté</param> /// <param name="m">marque du matériel</param> /// <param name="t">type du matériel</param> public Materiel(int id, DateTime date_circulation, int garantie, Personne p, Marque m, Type_materiel t) { this.id_materiel = id; this.date_circulation = date_circulation; this.garantie = garantie; this.personne = p; this.marque = m; this.type = t; }
/// <summary> /// Fonction de connexion de l'utilisateur. Elle vérifie si le login et le mot de passe sont valides et que la personne a le droit de se connecter à l'application /// </summary> /// <param name="login">login de la personne</param> /// <param name="mdp">mot de passe de la personne (non crypté, le cryptage se fait lors de la vérification)</param> /// <returns>objet de type Personne qui vient de se connecter</returns> public Personne seConnecter(String login, String mdp) { Personne p = null; List<Type_personne> lesTypePersonne = this.getLesTypePersonne(); String req = "SELECT * FROM PERSONNE WHERE administrateur=1 AND login_personne='" + login + "' AND mdp_personne='" + this.toMD5(mdp) + "';"; int i = 0; MySqlCommand sqlCommand = new MySqlCommand(req, connexion); IDataReader reader = sqlCommand.ExecuteReader(); while (reader.Read()) { Type_personne leType = lesTypePersonne.Find(type => type.getIdTypePersonne() == int.Parse(reader[7].ToString())); p = new Personne(int.Parse(reader[0].ToString()), reader[1].ToString(), reader[2].ToString(), reader[3].ToString(), reader[4].ToString(), reader[5].ToString(), int.Parse(reader[6].ToString()), leType); i++; } reader.Close(); //si la variable p n'a pas été affectée (donc tjr null) alors aucun utilisateur n'a été trouvé dans la base avec ces identifiants if (p == null) { throw new Exception("Les identifiants sont incorrectes, veuillez recommencer s'il vous plait."); } else { return p; } }
/// <summary> /// Fonction qui effectue un changement de mot de passe d'un utilisateur dans la base de données /// </summary> /// <param name="p">personne qui souhaite changer son mot de passe (ou personne le mot de passe de laquelle on souhaite changer)</param> /// <param name="mdp">mot de passe actuel de la personne (non crypté)</param> /// <param name="nvoMdp">nouveau mot de passe de la personne (non crypté)</param> /// <param name="nvoMdpConfirm">la confirmation du nouveau mot de passe (non crypté)</param> /// <returns><c>true</c> si la création a réussi et crée une exception si la création a échoué</returns> public Boolean changerMdp(Personne p, String mdp, String nvoMdp, String nvoMdpConfirm) { //on verifie que tous les champs sont remplis if (mdp.Equals("") || nvoMdp.Equals("") || nvoMdpConfirm.Equals("")) { throw new Exception("Tous les champs doivent être remplis."); } else { //on vérifie que le mot de passe actuel est correctement saisi : if (p.getMdpPersonne().Equals(toMD5(mdp))) { //on verifie que la confirmation du nouveau mot de passe a été correctement saisie : if (nvoMdp.Equals(nvoMdpConfirm)) { p.setMdpPersonne(toMD5(mdp)); //on effectue la requete de modification String req = "UPDATE PERSONNE SET mdp_personne='"+toMD5(nvoMdp)+"' WHERE id_personne="+p.getIdPersonne(); MySqlCommand sqlCommand = new MySqlCommand(req, connexion); IDataReader reader = sqlCommand.ExecuteReader(); return true; } else { throw new Exception("La confirmation du nouveau mot de passe est incorrecte."); } } else { throw new Exception("Le mot de passe actuel est incorrecte"); } } }
/// <summary> /// Deuxième constructeur de Licence /// </summary> /// <param name="id">identifiant de la licence</param> /// <param name="p">personne qui possède la licence</param> public Licence(int id, Personne p) { this.id_licence = id; this.personne = p; }
/// <summary> /// Premier constructeur de Licence /// </summary> /// <param name="id">identifiant de la licence</param> /// <param name="p">personne qui possède la licence</param> /// <param name="m">matériel associé à la licence</param> public Licence(int id, Personne p, Materiel m) { this.id_licence = id; this.personne = p; this.materiel = m; }
/// <summary> /// Deuxième constructeur de la licence de version (dans le cas où elle n'est associée à aucun matériel) /// </summary> /// <param name="id">identifiant de la licence</param> /// <param name="nom">nom de la licence</param> /// <param name="p">personne à qui la licence est prêtée</param> public Licence_version(int id, String nom, Personne p) : base(id, p) { this.nom_version = nom; }
/// <summary> /// Premier constructeur de la licence de version (dans le cas où elle est associée à un matériel) /// </summary> /// <param name="id">identifiant de la licence</param> /// <param name="nom">nom de la licence</param> /// <param name="p">personne à qui la licence est prêtée</param> /// <param name="m">matériel auquel la licence est associée</param> public Licence_version(int id, String nom, Personne p, Materiel m) : base(id, p, m) { this.nom_version = nom; }