/// <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 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); }