Beispiel #1
0
        /// <summary>
        /// Méthode permettant d'obtenir un plat sauvegardé dans la base de données.
        /// </summary>
        /// <param name="args">Les arguments permettant de retrouver le plat.</param>
        /// <returns>Un objet Plat.</returns>
        public Plat Retrieve(RetrievePlatArgs args)
        {
            Plat plat;

            try
            {
                connexion = new MySqlConnexion();
                string requete = string.Format("SELECT * FROM Plats p INNER JOIN TypesPlats tp ON tp.idTypePlat = p.idTypePlat INNER JOIN Membres m ON m.idMembre = p.idMembre WHERE idPlat = '{0}'", args.IdPlat);

                DataSet   dataSetPlats = connexion.Query(requete);
                DataTable tablePlats   = dataSetPlats.Tables[0];

                plat = ConstruirePlat(tablePlats.Rows[0]);

                plat.ListeIngredients = RetrieveAlimentsPlat(new RetrievePlatArgs {
                    IdPlat = plat.IdPlat
                });
            }
            catch (Exception)
            {
                throw;
            }

            return(plat);
        }
Beispiel #2
0
        /// <summary>
        /// Méthode permettant d'obtenir les aliments pour un plat spécifique.
        /// </summary>
        /// <param name="args">Les arguments permettant de retrouver les aliments du plat.</param>
        /// <returns>Une liste contenant les aliments.</returns>
        public IList <Aliment> RetrieveAlimentsPlat(RetrievePlatArgs args)
        {
            List <Aliment> listeIngredients = new List <Aliment>();

            string requete = string.Format("SELECT * FROM PlatsAliments WHERE idPlat = {0}", args.IdPlat);

            DataSet   dataSetPlatsAliments = connexion.Query(requete);
            DataTable tablePlatsAliments   = dataSetPlatsAliments.Tables[0];

            foreach (DataRow rowPlatsAliments in tablePlatsAliments.Rows)
            {
                Aliment alimentTmp = alimentService.Retrieve(new RetrieveAlimentArgs {
                    IdAliment = (int)rowPlatsAliments["idAliment"]
                });
                alimentTmp.Quantite = (double)rowPlatsAliments["quantite"] * alimentTmp.Mesure;
                listeIngredients.Add(alimentTmp);
            }

            return(listeIngredients);
        }
Beispiel #3
0
        /// <summary>
        /// Méthode permettant d'obtenir un ensemble de plats sauvegardé dans la base de données.
        /// </summary>
        /// <param name="args">Les arguments permettant de retrouver les plats.</param>
        /// <returns>Une liste contenant les plats.</returns>
        public IList<Plat> RetrieveSome(RetrievePlatArgs args)
        {
            List<Plat> resultat = new List<Plat>();

            try
            {
                connexion = new MySqlConnexion();

                string requete = "SELECT * FROM Plats p INNER JOIN TypesPlats tp ON tp.idTypePlat = p.idTypePlat INNER JOIN Membres m ON m.idMembre = p.idMembre";

                if (args.Categorie != null && args.Categorie != string.Empty)
                {
                    requete += string.Format(" WHERE typePlat = '{0}'", args.Categorie);
                }

                if (args.NbResultats != null)
                {
                    if (args.PlusPopulaires == true)
                    {
                        requete += " ORDER BY note DESC ";
                    }
                    else if (args.PlusPopulaires == false)
                    {
                        requete += " ORDER BY note ASC ";
                    }
                    else if (args.PlusPopulaires == null)
                    {
                        if (args.Depart != null && args.Depart != string.Empty)
                        {
                            requete += " ORDER BY idPlat ";

                            if (args.Depart == "Fin")
                            {
                                requete += "DESC";
                            }
                            else
                            {
                                requete += "ASC";
                            }
                        }
                    }

                    requete += string.Format(" LIMIT {0} ", args.NbResultats);

                }

                DataSet dataSetPlats = connexion.Query(requete);
                DataTable tablePlats = dataSetPlats.Tables[0];

                foreach (DataRow rowPlat in tablePlats.Rows)
                {
                    Plat plat = ConstruirePlat(rowPlat);

                    plat.ListeIngredients = RetrieveAlimentsPlat(new RetrievePlatArgs { IdPlat = plat.IdPlat });

                    resultat.Add(plat);
                }
            }
            catch (Exception)
            {
                throw;
            }

            return resultat;
        }
Beispiel #4
0
        /// <summary>
        /// Méthode permettant d'obtenir les aliments d'un plat.
        /// </summary>
        /// <param name="args">Les arguments permettant de retrouver les aliments du plat.</param>
        /// <returns>Une liste contenant les aliments.</returns>
        public IList<Aliment> RetrieveAlimentsPlat(RetrievePlatArgs args)
        {
            List<Aliment> listeIngredients = new List<Aliment>();

            string requete = string.Format("SELECT * FROM PlatsAliments WHERE idPlat = {0}", args.IdPlat);

            DataSet dataSetPlatsAliments = connexion.Query(requete);
            DataTable tablePlatsAliments = dataSetPlatsAliments.Tables[0];

            foreach (DataRow rowPlatsAliments in tablePlatsAliments.Rows)
            {
                Aliment alimentTmp = alimentService.Retrieve(new RetrieveAlimentArgs { IdAliment = (int)rowPlatsAliments["idAliment"] });
                alimentTmp.Quantite = (double)rowPlatsAliments["quantite"] * alimentTmp.Mesure;
                listeIngredients.Add(alimentTmp);
            }

            return listeIngredients;
        }
Beispiel #5
0
        /// <summary>
        /// Méthode permettant d'obtenir un plat sauvegardé dans la base de données.
        /// </summary>
        /// <param name="args">Les arguments permettant de retrouver le plat.</param>
        /// <returns>Un objet Plat.</returns>
        public Plat Retrieve(RetrievePlatArgs args)
        {
            Plat plat;

            try
            {
                connexion = new MySqlConnexion();
                string requete = string.Format("SELECT * FROM Plats p INNER JOIN TypesPlats tp ON tp.idTypePlat = p.idTypePlat INNER JOIN Membres m ON m.idMembre = p.idMembre WHERE idPlat = '{0}'", args.IdPlat);

                DataSet dataSetPlats = connexion.Query(requete);
                DataTable tablePlats = dataSetPlats.Tables[0];

                plat = ConstruirePlat(tablePlats.Rows[0]);

                plat.ListeIngredients = RetrieveAlimentsPlat(new RetrievePlatArgs { IdPlat = plat.IdPlat });

            }
            catch (Exception)
            {
                throw;
            }

            return plat;
        }
Beispiel #6
0
        /// <summary>
        /// Méthode permettant d'obtenir un ensemble de plats sauvegardé dans la base de données.
        /// </summary>
        /// <param name="args">Les arguments permettant de retrouver les plats.</param>
        /// <returns>Une liste contenant les plats.</returns>
        public IList <Plat> RetrieveSome(RetrievePlatArgs args)
        {
            List <Plat> resultat = new List <Plat>();

            try
            {
                connexion = new MySqlConnexion();

                string requete = "SELECT * FROM Plats p INNER JOIN TypesPlats tp ON tp.idTypePlat = p.idTypePlat INNER JOIN Membres m ON m.idMembre = p.idMembre";

                if (args.Categorie != null && args.Categorie != string.Empty)
                {
                    requete += string.Format(" WHERE typePlat = '{0}'", args.Categorie);
                }

                if (args.NbResultats != null)
                {
                    if (args.PlusPopulaires == true)
                    {
                        requete += " ORDER BY note DESC ";
                    }
                    else if (args.PlusPopulaires == false)
                    {
                        requete += " ORDER BY note ASC ";
                    }
                    else if (args.PlusPopulaires == null)
                    {
                        if (args.Depart != null && args.Depart != string.Empty)
                        {
                            requete += " ORDER BY idPlat ";

                            if (args.Depart == "Fin")
                            {
                                requete += "DESC";
                            }
                            else
                            {
                                requete += "ASC";
                            }
                        }
                    }

                    requete += string.Format(" LIMIT {0} ", args.NbResultats);
                }

                DataSet   dataSetPlats = connexion.Query(requete);
                DataTable tablePlats   = dataSetPlats.Tables[0];

                foreach (DataRow rowPlat in tablePlats.Rows)
                {
                    Plat plat = ConstruirePlat(rowPlat);

                    plat.ListeIngredients = RetrieveAlimentsPlat(new RetrievePlatArgs {
                        IdPlat = plat.IdPlat
                    });

                    resultat.Add(plat);
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(resultat);
        }