/// <summary> /// Méthode permettant d'obtenir un aliment sauvegardé dans la base de données. /// </summary> /// <param name="args">Les arguments permettant de retrouver l'aliment.</param> /// <returns>Un objet Aliment.</returns> public Aliment Retrieve(RetrieveAlimentArgs args) { Aliment aliment; string requete = string.Format("SELECT * FROM Aliments a INNER JOIN CategoriesAlimentaires ca ON ca.idCategorieAlimentaire = a.idCategorieAlimentaire INNER JOIN UnitesMesure um ON um.idUniteMesure = a.idUniteMesure WHERE idAliment = {0}", args.IdAliment); try { using (MySqlConnexion connexion = new MySqlConnexion()) using (DataSet dataSetAliments = connexion.Query(requete)) using (DataTable tableAliments = dataSetAliments.Tables[0]) { DataRow rowAliment = tableAliments.Rows[0]; requete = string.Format("SELECT quantite, valeurNutritionnelle FROM AlimentsValeursNutritionnelles avn INNER JOIN ValeursNutritionnelles vn ON avn.idValeurNutritionnelle = vn.idValeurNutritionnelle WHERE idAliment = {0}", (int)rowAliment["idAliment"]); using (DataSet dataSetAlimentsValeursNut = connexion.Query(requete)) using (DataTable tableAlimentsValeursNut = dataSetAlimentsValeursNut.Tables[0]) { Dictionary <string, double> valeurNut = new Dictionary <string, double>(); foreach (DataRow rowAlimentValeurNut in tableAlimentsValeursNut.Rows) { valeurNut.Add((string)rowAlimentValeurNut["valeurNutritionnelle"], (double)rowAlimentValeurNut["quantite"]); } aliment = ConstruireAliment(rowAliment, valeurNut); } } } catch (Exception) { throw; } return(aliment); }
/// <summary> /// Méthode permettant d'obtenir un aliment sauvegardé dans la base de données. /// </summary> /// <param name="args">Les arguments permettant de retrouver l'aliment.</param> /// <returns>Un objet Aliment.</returns> public Aliment Retrieve(RetrieveAlimentArgs args) { Aliment aliment; try { connexion = new MySqlConnexion(); string requete = string.Format("SELECT * FROM Aliments a INNER JOIN CategoriesAlimentaires ca ON ca.idCategorieAlimentaire = a.idCategorieAlimentaire INNER JOIN UnitesMesure um ON um.idUniteMesure = a.idUniteMesure WHERE idAliment = {0}", args.IdAliment); DataSet dataSetAliments = connexion.Query(requete); DataTable tableAliments = dataSetAliments.Tables[0]; DataRow rowAliment = tableAliments.Rows[0]; requete = string.Format("SELECT quantite, valeurNutritionnelle FROM AlimentsValeursNutritionnelles avn INNER JOIN ValeursNutritionnelles vn ON avn.idValeurNutritionnelle = vn.idValeurNutritionnelle WHERE idAliment = {0}", (int)rowAliment["idAliment"]); DataSet dataSetAlimentsValeursNut = connexion.Query(requete); DataTable tableAlimentsValeursNut = dataSetAlimentsValeursNut.Tables[0]; Dictionary<string, double> valeurNut = new Dictionary<string, double>(); foreach (DataRow rowAlimentValeurNut in tableAlimentsValeursNut.Rows) { valeurNut.Add((string)rowAlimentValeurNut["valeurNutritionnelle"], (double)rowAlimentValeurNut["quantite"]); } aliment = ConstruireAliment(rowAliment, valeurNut); } catch (Exception) { throw; } return aliment; }