/// <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;
        }
Exemple #2
0
        /// <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);
        }