public void Insert(Membre membre, Transaction transaction) { Insert(transaction); try { connexion = new MySqlConnexion(); string requete = string.Format("INSERT INTO DonsMembres (idMembre, idDon) VALUES ( (SELECT idMembre FROM Membres WHERE nomUtilisateur = '{0}'), (SELECT idDon FROM Dons WHERE noTransaction = '{1}')) ", membre.NomUtilisateur, transaction.NoTransaction); connexion.Query(requete); } catch (MySqlException) { throw; } }
/// <summary> /// Méthode permettant d'associer un don à un membre /// </summary> /// <param name="membre">Membre envoyant le don</param> /// <param name="transaction">Don à insérer dans la base de données</param> public void Insert(Membre membre, Don transaction) { //Appel la méthode qui ne fait qu'insérer le Don dans la bd. Insert(transaction); //Puis on exécute le code qui rajoutera les données nécessaire dans la table de correspondance DonsMembres pour associé le don au membre. try { connexion = new MySqlConnexion(); string requete = string.Format("INSERT INTO DonsMembres (idMembre, idDon) VALUES ( (SELECT idMembre FROM Membres WHERE nomUtilisateur = '{0}'), (SELECT idDon FROM Dons WHERE noTransaction = '{1}')) ", membre.NomUtilisateur, transaction.NoTransaction); connexion.Query(requete); } catch (MySqlException) { throw; } }
/// <summary> /// Méthode permettant d'insérer le suivi des plats d'un membre. /// </summary> /// <param name="listePlats">La liste des plats.</param> /// <param name="membre">Le membre correspondant.</param> public void Insert(IList<Plat> listePlats, Membre membre) { try { connexion = new MySqlConnexion(); foreach (Plat plat in listePlats) { string requete = string.Format("INSERT INTO SuiviPlats (idMembre, idPlat, estTricherie) VALUES ({0}, {1}, {2})", membre.IdMembre, plat.IdPlat, plat.EstTricherie); connexion.Query(requete); } } catch (Exception) { throw; } }
/// <summary> /// Méthode permettant d'insérer un membre dans la base de données. /// </summary> /// <param name="membre">L'objet Membre a insérer.</param> public void Insert(Membre membre) { try { if (!String.IsNullOrWhiteSpace(stringConnexion)) { connexion = new MySqlConnexion(stringConnexion); } else connexion = new MySqlConnexion(); string requete = string.Format("INSERT INTO Membres (nom ,prenom, taille, masse, dateNaissance, nomUtilisateur, motPasse, idLangue) VALUES ('{0}', '{1}', {2}, {3}, '{4}', '{5}', '{6}', (SELECT idLangue FROM Langues WHERE IETF = '{7}'))", membre.Nom, membre.Prenom, membre.Taille, membre.Masse, membre.DateNaissance.ToString("yyyy-MM-dd"), membre.NomUtilisateur, membre.MotPasse, membre.LangueMembre.IETF); connexion.Query(requete); int idMembre = (int)Retrieve(new RetrieveMembreArgs { NomUtilisateur = membre.NomUtilisateur }).IdMembre; // Ajout des restrictions alimentaires du membre. foreach (RestrictionAlimentaire restriction in membre.ListeRestrictions) { requete = string.Format("INSERT INTO RestrictionsAlimentairesMembres (idRestrictionAlimentaire, idMembre) VALUES ({0}, {1})", restriction.IdRestrictionAlimentaire, idMembre); connexion.Query(requete); } // Ajout des objectifs du membre. foreach (Objectif objectif in membre.ListeObjectifs) { requete = string.Format("INSERT INTO ObjectifsMembres (idObjectif, idMembre) VALUES ({0}, {1})", objectif.IdObjectif, idMembre); connexion.Query(requete); } // Ajout des préférences du membre. foreach (Preference preference in membre.ListePreferences) { requete = string.Format("INSERT INTO PreferencesMembres (idPreference, idMembre) VALUES ({0}, {1})", preference.IdPreference, idMembre); connexion.Query(requete); } } catch (MySqlException) { throw; } }
/// <summary> /// Méthode permettant d'insérer un membre dans la base de données. /// </summary> /// <param name="membre">L'objet Membre a insérer.</param> public void Insert(Membre membre) { try { //Si stringConnexion est null ou vide, constructeur vide, sinon on utilise le stringConnexion spécifié. using (MySqlConnexion connexion = (String.IsNullOrWhiteSpace(stringConnexion)) ? new MySqlConnexion() : new MySqlConnexion(stringConnexion)) { string requete = string.Format("INSERT INTO Membres (nom ,prenom, taille, masse, dateNaissance, nomUtilisateur, motPasse, idLangue) VALUES ('{0}', '{1}', {2}, {3}, '{4}', '{5}', '{6}', (SELECT idLangue FROM Langues WHERE IETF = '{7}'))", membre.Nom, membre.Prenom, membre.Taille, membre.Masse, membre.DateNaissance.ToString("yyyy-MM-dd"), membre.NomUtilisateur, membre.MotPasse, membre.LangueMembre.IETF); connexion.Query(requete); int idMembre = (int)Retrieve(new RetrieveMembreArgs { NomUtilisateur = membre.NomUtilisateur }).IdMembre; // Ajout des restrictions alimentaires du membre. foreach (RestrictionAlimentaire restriction in membre.ListeRestrictions) { requete = string.Format("INSERT INTO RestrictionsAlimentairesMembres (idRestrictionAlimentaire, idMembre) VALUES ({0}, {1})", restriction.IdRestrictionAlimentaire, idMembre); connexion.Query(requete); } // Ajout des objectifs du membre. foreach (Objectif objectif in membre.ListeObjectifs) { requete = string.Format("INSERT INTO ObjectifsMembres (idObjectif, idMembre) VALUES ({0}, {1})", objectif.IdObjectif, idMembre); connexion.Query(requete); } // Ajout des préférences du membre. foreach (Preference preference in membre.ListePreferences) { requete = string.Format("INSERT INTO PreferencesMembres (idPreference, idMembre) VALUES ({0}, {1})", preference.IdPreference, idMembre); connexion.Query(requete); } } } catch (MySqlException) { throw; } }
/// <summary> /// Méthode permettant de mettre à jour un membre dans la base de données. /// </summary> /// <param name="membre">L'objet Membre à mettre à jour.</param> public void Update(Membre membre) { try { if (!String.IsNullOrWhiteSpace(stringConnexion)) { connexion = new MySqlConnexion(stringConnexion); } else connexion = new MySqlConnexion(); string requete = string.Format("UPDATE Membres SET nom = '{0}' ,prenom = '{1}', taille = {2}, masse = {3}, dateNaissance = '{4}', nomUtilisateur = '{5}', motPasse = '{6}', estAdmin = {7}, estBanni = {8}, idLangue = (SELECT idLangue FROM Langues WHERE IETF = '{9}') WHERE idMembre = {10}", membre.Nom, membre.Prenom, membre.Taille, membre.Masse, membre.DateNaissance.ToString("yyyy-MM-dd"), membre.NomUtilisateur, membre.MotPasse, membre.EstAdministrateur, membre.EstBanni, membre.LangueMembre.IETF, membre.IdMembre); connexion.Query(requete); string requeteEffacerRestrictions = string.Format("DELETE FROM RestrictionsAlimentairesMembres WHERE idMembre = {0}", membre.IdMembre); string requeteEffacerObjectifs = string.Format("DELETE FROM ObjectifsMembres WHERE idMembre = {0}", membre.IdMembre); string requeteEffacerPreferences = string.Format("DELETE FROM PreferencesMembres WHERE idMembre = {0}", membre.IdMembre); connexion.Query(requeteEffacerRestrictions); connexion.Query(requeteEffacerObjectifs); connexion.Query(requeteEffacerPreferences); // Ajout des restrictions alimentaires du membre. foreach (RestrictionAlimentaire restriction in membre.ListeRestrictions) { requete = string.Format("INSERT INTO RestrictionsAlimentairesMembres (idRestrictionAlimentaire, idMembre) VALUES ({0}, {1})", restriction.IdRestrictionAlimentaire, membre.IdMembre); connexion.Query(requete); } // Ajout des objectifs du membre. foreach (Objectif objectif in membre.ListeObjectifs) { requete = string.Format("INSERT INTO ObjectifsMembres (idObjectif, idMembre) VALUES ({0}, {1})", objectif.IdObjectif, membre.IdMembre); connexion.Query(requete); } // Ajout des préférences du membre. foreach (Preference preference in membre.ListePreferences) { requete = string.Format("INSERT INTO PreferencesMembres (idPreference, idMembre) VALUES ({0}, {1})", preference.IdPreference, membre.IdMembre); connexion.Query(requete); } } catch (MySqlException) { throw; } }
/// <summary> /// Méthode permettant d'obtenir un membre sauvegardé dans la base de données. /// </summary> /// <param name="args">Les arguments permettant de retrouver le membre.</param> /// <returns>Un objet Membre.</returns> public Membre Retrieve(RetrieveMembreArgs args) { Membre membre = new Membre(); try { if (!String.IsNullOrWhiteSpace(stringConnexion)) { connexion = new MySqlConnexion(stringConnexion); } else connexion = new MySqlConnexion(); string requete = string.Format("SELECT * FROM Membres WHERE idMembre = {0}", args.IdMembre); if (args.NomUtilisateur != null && args.NomUtilisateur != string.Empty) { requete = string.Format("SELECT * FROM Membres WHERE nomUtilisateur = '{0}'", args.NomUtilisateur); } using (DataSet dataSetMembres = connexion.Query(requete)) { using (DataTable tableMembres = dataSetMembres.Tables[0]) { // Construction de l'objet Membre. if (tableMembres.Rows.Count != 0) { membre = ConstruireMembre(tableMembres.Rows[0]); membre.LangueMembre = LangueFromId((int)tableMembres.Rows[0]["idLangue"]); // Ajout des restrictions alimentaires du membre. requete = string.Format("SELECT idRestrictionAlimentaire FROM RestrictionsAlimentairesMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetRestrictions = connexion.Query(requete)) { using (DataTable tableRestrictions = dataSetRestrictions.Tables[0]) { foreach (DataRow rowRestriction in tableRestrictions.Rows) { membre.ListeRestrictions.Add(restrictionAlimentaireService.Retrieve(new RetrieveRestrictionAlimentaireArgs { IdRestrictionAlimentaire = (int)rowRestriction["idRestrictionAlimentaire"] })); } // Ajout des objectifs du membre. requete = string.Format("SELECT idObjectif FROM ObjectifsMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetObjectifs = connexion.Query(requete)) { using (DataTable tableObjectifs = dataSetObjectifs.Tables[0]) { foreach (DataRow rowObjectif in tableObjectifs.Rows) { membre.ListeObjectifs.Add(objectifService.Retrieve(new RetrieveObjectifArgs { IdObjectif = (int)rowObjectif["idObjectif"] })); } // Ajout des préférences du membre. requete = string.Format("SELECT idPreference FROM PreferencesMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetPreferences = connexion.Query(requete)) { using (DataTable tablePreferences = dataSetPreferences.Tables[0]) { foreach (DataRow rowPreference in tablePreferences.Rows) { membre.ListePreferences.Add(preferenceService.Retrieve(new RetrievePreferenceArgs { IdPreference = (int)rowPreference["idPreference"] })); } membre.ListeMenus = menuService.RetrieveSome(new RetrieveMenuArgs { IdMembre = (int)membre.IdMembre }); } } } } } } } } } } catch (MySqlException) { throw; } return membre; }
/// <summary> /// Méthode permettant de mettre à jour le suivi des plats d'un membre. /// </summary> /// <param name="listePlats">La liste des plats.</param> /// <param name="membre">Le membre correspondant.</param> public void Update(IList<Plat> listePlats, Membre membre) { try { connexion = new MySqlConnexion(); string requeteEffacerSuivi = string.Format("DELETE FROM SuiviPlats WHERE idMembre = {0}", membre.IdMembre); connexion.Query(requeteEffacerSuivi); Insert(listePlats, membre); } catch (Exception) { throw; } }
/// <summary> /// Méthode permettant d'obtenir l'ensemble des membres sauvegardés dans la base de données. /// </summary> /// <returns>Une liste contenant les membres.</returns> public IList <Membre> RetrieveAll() { IList <Membre> resultat = new List <Membre>(); try { //Si stringConnexion est null ou vide, constructeur vide, sinon on utilise le stringConnexion spécifié. using (MySqlConnexion connexion = (String.IsNullOrWhiteSpace(stringConnexion)) ? new MySqlConnexion() : new MySqlConnexion(stringConnexion)) { string requete = "SELECT * FROM Membres"; using (DataSet dataSetMembres = connexion.Query(requete)) using (DataTable tableMembres = dataSetMembres.Tables[0]) { // Construction de chaque objet Membre. foreach (DataRow rowMembre in tableMembres.Rows) { Membre membre = ConstruireMembre(rowMembre); membre.LangueMembre = LangueFromId((int)rowMembre["idLangue"]); // Ajout des restrictions alimentaires du membre. requete = string.Format("SELECT idRestrictionAlimentaire FROM RestrictionsAlimentairesMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetRestrictions = connexion.Query(requete)) using (DataTable tableRestrictions = dataSetRestrictions.Tables[0]) { foreach (DataRow rowRestriction in tableRestrictions.Rows) { membre.ListeRestrictions.Add(restrictionAlimentaireService.Retrieve(new RetrieveRestrictionAlimentaireArgs { IdRestrictionAlimentaire = (int)rowRestriction["idRestrictionAlimentaire"] })); } // Ajout des objectifs du membre. requete = string.Format("SELECT idObjectif FROM ObjectifsMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetObjectifs = connexion.Query(requete)) using (DataTable tableObjectifs = dataSetObjectifs.Tables[0]) { foreach (DataRow rowObjectif in tableObjectifs.Rows) { membre.ListeObjectifs.Add(objectifService.Retrieve(new RetrieveObjectifArgs { IdObjectif = (int)rowObjectif["idObjectif"] })); } // Ajout des préférences du membre. requete = string.Format("SELECT idPreference FROM PreferencesMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetPreferences = connexion.Query(requete)) using (DataTable tablePreferences = dataSetPreferences.Tables[0]) { foreach (DataRow rowPreference in tablePreferences.Rows) { membre.ListePreferences.Add(preferenceService.Retrieve(new RetrievePreferenceArgs { IdPreference = (int)rowPreference["idPreference"] })); } membre.ListeMenus = menuService.RetrieveSome(new RetrieveMenuArgs { IdMembre = (int)membre.IdMembre }); resultat.Add(membre); } } } } } } } catch (MySqlException) { throw; } return(resultat); }
/// <summary> /// Méthode permettant d'obtenir un membre sauvegardé dans la base de données. /// </summary> /// <param name="args">Les arguments permettant de retrouver le membre.</param> /// <returns>Un objet Membre.</returns> public Membre Retrieve(RetrieveMembreArgs args) { Membre membre = new Membre(); try { //Si stringConnexion est null ou vide, constructeur vide, sinon on utilise le stringConnexion spécifié. using (MySqlConnexion connexion = (String.IsNullOrWhiteSpace(stringConnexion)) ? new MySqlConnexion() : new MySqlConnexion(stringConnexion)) { string requete = string.Format("SELECT * FROM Membres WHERE idMembre = {0}", args.IdMembre); if (args.NomUtilisateur != null && args.NomUtilisateur != string.Empty) { requete = string.Format("SELECT * FROM Membres WHERE nomUtilisateur = '{0}'", args.NomUtilisateur); } using (DataSet dataSetMembres = connexion.Query(requete)) using (DataTable tableMembres = dataSetMembres.Tables[0]) { // Construction de l'objet Membre. if (tableMembres.Rows.Count != 0) { membre = ConstruireMembre(tableMembres.Rows[0]); membre.LangueMembre = LangueFromId((int)tableMembres.Rows[0]["idLangue"]); // Ajout des restrictions alimentaires du membre. requete = string.Format("SELECT idRestrictionAlimentaire FROM RestrictionsAlimentairesMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetRestrictions = connexion.Query(requete)) using (DataTable tableRestrictions = dataSetRestrictions.Tables[0]) { foreach (DataRow rowRestriction in tableRestrictions.Rows) { membre.ListeRestrictions.Add(restrictionAlimentaireService.Retrieve(new RetrieveRestrictionAlimentaireArgs { IdRestrictionAlimentaire = (int)rowRestriction["idRestrictionAlimentaire"] })); } // Ajout des objectifs du membre. requete = string.Format("SELECT idObjectif FROM ObjectifsMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetObjectifs = connexion.Query(requete)) using (DataTable tableObjectifs = dataSetObjectifs.Tables[0]) { foreach (DataRow rowObjectif in tableObjectifs.Rows) { membre.ListeObjectifs.Add(objectifService.Retrieve(new RetrieveObjectifArgs { IdObjectif = (int)rowObjectif["idObjectif"] })); } // Ajout des préférences du membre. requete = string.Format("SELECT idPreference FROM PreferencesMembres WHERE idMembre = {0}", membre.IdMembre); using (DataSet dataSetPreferences = connexion.Query(requete)) using (DataTable tablePreferences = dataSetPreferences.Tables[0]) { foreach (DataRow rowPreference in tablePreferences.Rows) { membre.ListePreferences.Add(preferenceService.Retrieve(new RetrievePreferenceArgs { IdPreference = (int)rowPreference["idPreference"] })); } membre.ListeMenus = menuService.RetrieveSome(new RetrieveMenuArgs { IdMembre = (int)membre.IdMembre }); } } } } } } } catch (MySqlException) { throw; } return(membre); }