/// <summary> /// Méthode de mise à jour d'un aliment dans la base de données. /// </summary> /// <param name="unAliment">Aliment qu'il faut mettre à jour dans la base de données.</param> public void Update(Aliment unAliment) { string requeteCategoriesAlim = string.Format("SELECT * FROM CategoriesAlimentaires WHERE categorieAlimentaire = '{0}'", unAliment.Categorie); try { using (MySqlConnexion connexion = new MySqlConnexion()) using (DataSet dataSetCategories = connexion.Query(requeteCategoriesAlim)) using (DataTable tableCategories = dataSetCategories.Tables[0]) { int idCategorie = 0; foreach (DataRow rowCategories in tableCategories.Rows) { idCategorie = (int)rowCategories["idCategorieAlimentaire"]; } string requeteUnitesMesure = string.Format("SELECT * FROM UnitesMesure WHERE uniteMesure = '{0}'", unAliment.UniteMesure); using (DataSet dataSetUnites = connexion.Query(requeteUnitesMesure)) using (DataTable tableUnites = dataSetUnites.Tables[0]) { int idUnite = 0; foreach (DataRow rowUnites in tableUnites.Rows) { idUnite = (int)rowUnites["idUniteMesure"]; } string requeteUpdate = string.Format("UPDATE Aliments SET idUniteMesure = {0}, idCategorieAlimentaire = {1}, nom = '{2}', mesure = {3}, imageURL = '{4}' WHERE idAliment = {5}", idUnite, idCategorie, unAliment.Nom, unAliment.Mesure, unAliment.ImageURL, unAliment.IdAliment); connexion.Query(requeteUpdate); int idAliment = (int)unAliment.IdAliment; int idEnergie = Associer_Valeur_Nutritionnelle("Calories"); int idProteine = Associer_Valeur_Nutritionnelle("Protéines"); int idGlucide = Associer_Valeur_Nutritionnelle("Glucides"); int idFibre = Associer_Valeur_Nutritionnelle("Fibres"); int idLipide = Associer_Valeur_Nutritionnelle("Lipides"); int idSodium = Associer_Valeur_Nutritionnelle("Sodium"); int idCholesterol = Associer_Valeur_Nutritionnelle("Cholestérol"); string requeteDelete = string.Format("DELETE FROM AlimentsValeursNutritionnelles WHERE idAliment = {0}", idAliment); connexion.Query(requeteDelete); Inserer_Valeur_Nutritionnelle(idEnergie, idAliment, unAliment.Energie); Inserer_Valeur_Nutritionnelle(idProteine, idAliment, unAliment.Proteine); Inserer_Valeur_Nutritionnelle(idGlucide, idAliment, unAliment.Glucide); Inserer_Valeur_Nutritionnelle(idFibre, idAliment, unAliment.Fibre); Inserer_Valeur_Nutritionnelle(idLipide, idAliment, unAliment.Lipide); Inserer_Valeur_Nutritionnelle(idSodium, idAliment, unAliment.Sodium); Inserer_Valeur_Nutritionnelle(idCholesterol, idAliment, unAliment.Cholesterol); } } } catch (Exception) { throw; } }
/// <summary> /// Méthode permettant de comparer deux objets Aliment ensemble. /// Contrairement à la méthode de base, elle compare seulement avec l'id. /// </summary> /// <param name="objet"></param> /// <returns></returns> public override bool Equals(Object objet) { if (objet == null || GetType() != objet.GetType()) { return(false); } Aliment aliment = (Aliment)objet; return(IdAliment == aliment.IdAliment); }
/// <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); }
/// <summary> /// Méthode d'insertion d'un nouvel aliment dans la base de données. /// </summary> /// <param name="unAliment"></param> public void Insert(Aliment unAliment) { try { connexion = new MySqlConnexion(); string requeteCategoriesAlim = string.Format("SELECT * FROM CategoriesAlimentaires WHERE categorieAlimentaire = '{0}'", unAliment.Categorie); DataSet dataSetCategories = connexion.Query(requeteCategoriesAlim); DataTable tableCategories = dataSetCategories.Tables[0]; int idCategorie = 0; foreach (DataRow rowCategories in tableCategories.Rows) { idCategorie = (int)rowCategories["idCategorieAlimentaire"]; } string requeteUnitesMesure = string.Format("SELECT * FROM UnitesMesure WHERE uniteMesure = '{0}'", unAliment.UniteMesure); DataSet dataSetUnites = connexion.Query(requeteUnitesMesure); DataTable tableUnites = dataSetUnites.Tables[0]; int idUnite = 0; foreach (DataRow rowUnites in tableUnites.Rows) { idUnite = (int)rowUnites["idUniteMesure"]; } string requeteInsert = string.Format("INSERT INTO Aliments (idUniteMesure ,idCategorieAlimentaire, nom, mesure, imageURL) VALUES ({0}, {1}, '{2}', {3}, '{4}')", idUnite, idCategorie, unAliment.Nom, unAliment.Mesure, unAliment.ImageURL); connexion.Query(requeteInsert); string requeteAlim = string.Format("SELECT * FROM Aliments WHERE nom = '{0}'", unAliment.Nom); DataSet dataSetAlim = connexion.Query(requeteAlim); DataTable tableAlim = dataSetAlim.Tables[0]; int idAliment = 0; foreach (DataRow rowAlim in tableAlim.Rows) { idAliment = (int)rowAlim["idAliment"]; } int idEnergie = Associer_Valeur_Nutritionnelle("Calories"); int idProteine = Associer_Valeur_Nutritionnelle("Protéines"); int idGlucide = Associer_Valeur_Nutritionnelle("Glucides"); int idFibre = Associer_Valeur_Nutritionnelle("Fibres"); int idLipide = Associer_Valeur_Nutritionnelle("Lipides"); int idSodium = Associer_Valeur_Nutritionnelle("Sodium"); int idCholesterol = Associer_Valeur_Nutritionnelle("Cholestérol"); Inserer_Valeur_Nutritionnelle(idEnergie, idAliment, unAliment.Energie); Inserer_Valeur_Nutritionnelle(idProteine, idAliment, unAliment.Proteine); Inserer_Valeur_Nutritionnelle(idGlucide, idAliment, unAliment.Glucide); Inserer_Valeur_Nutritionnelle(idFibre, idAliment, unAliment.Fibre); Inserer_Valeur_Nutritionnelle(idLipide, idAliment, unAliment.Lipide); Inserer_Valeur_Nutritionnelle(idSodium, idAliment, unAliment.Sodium); Inserer_Valeur_Nutritionnelle(idCholesterol, idAliment, unAliment.Cholesterol); } catch (Exception) { throw; } }
/// <summary> /// Méthode de mise à jour d'un aliment dans la base de données. /// </summary> /// <param name="unAliment"></param> public void Update(Aliment unAliment) { try { connexion = new MySqlConnexion(); string requeteCategoriesAlim = string.Format("SELECT * FROM CategoriesAlimentaires WHERE categorieAlimentaire = '{0}'", unAliment.Categorie); DataSet dataSetCategories = connexion.Query(requeteCategoriesAlim); DataTable tableCategories = dataSetCategories.Tables[0]; int idCategorie = 0; foreach (DataRow rowCategories in tableCategories.Rows) { idCategorie = (int)rowCategories["idCategorieAlimentaire"]; } string requeteUnitesMesure = string.Format("SELECT * FROM UnitesMesure WHERE uniteMesure = '{0}'", unAliment.UniteMesure); DataSet dataSetUnites = connexion.Query(requeteUnitesMesure); DataTable tableUnites = dataSetUnites.Tables[0]; int idUnite = 0; foreach (DataRow rowUnites in tableUnites.Rows) { idUnite = (int)rowUnites["idUniteMesure"]; } string requeteUpdate = string.Format("UPDATE Aliments SET idUniteMesure = {0}, idCategorieAlimentaire = {1}, nom = '{2}', mesure = {3}, imageURL = '{4}' WHERE idAliment = {5}", idUnite, idCategorie, unAliment.Nom, unAliment.Mesure, unAliment.ImageURL, unAliment.IdAliment); connexion.Query(requeteUpdate); int idAliment = (int)unAliment.IdAliment; int idEnergie = Associer_Valeur_Nutritionnelle("Calories"); int idProteine = Associer_Valeur_Nutritionnelle("Protéines"); int idGlucide = Associer_Valeur_Nutritionnelle("Glucides"); int idFibre = Associer_Valeur_Nutritionnelle("Fibres"); int idLipide = Associer_Valeur_Nutritionnelle("Lipides"); int idSodium = Associer_Valeur_Nutritionnelle("Sodium"); int idCholesterol = Associer_Valeur_Nutritionnelle("Cholestérol"); string requeteDelete = string.Format("DELETE FROM AlimentsValeursNutritionnelles WHERE idAliment = {0}", idAliment); connexion.Query(requeteDelete); Inserer_Valeur_Nutritionnelle(idEnergie, idAliment, unAliment.Energie); Inserer_Valeur_Nutritionnelle(idProteine, idAliment, unAliment.Proteine); Inserer_Valeur_Nutritionnelle(idGlucide, idAliment, unAliment.Glucide); Inserer_Valeur_Nutritionnelle(idFibre, idAliment, unAliment.Fibre); Inserer_Valeur_Nutritionnelle(idLipide, idAliment, unAliment.Lipide); Inserer_Valeur_Nutritionnelle(idSodium, idAliment, unAliment.Sodium); Inserer_Valeur_Nutritionnelle(idCholesterol, idAliment, unAliment.Cholesterol); } catch (Exception) { throw; } }
/// <summary> /// Méthode d'insertion d'un nouvel aliment dans la base de données. /// </summary> /// <param name="unAliment">L'aliment à insérer dans la base de données.</param> public void Insert(Aliment unAliment) { string requeteCategoriesAlim = string.Format("SELECT * FROM CategoriesAlimentaires WHERE categorieAlimentaire = '{0}'", unAliment.Categorie); try { using (MySqlConnexion connexion = new MySqlConnexion()) using (DataSet dataSetCategories = connexion.Query(requeteCategoriesAlim)) using (DataTable tableCategories = dataSetCategories.Tables[0]) { int idCategorie = 0; foreach (DataRow rowCategories in tableCategories.Rows) { idCategorie = (int)rowCategories["idCategorieAlimentaire"]; } string requeteUnitesMesure = string.Format("SELECT * FROM UnitesMesure WHERE uniteMesure = '{0}'", unAliment.UniteMesure); using (DataSet dataSetUnites = connexion.Query(requeteUnitesMesure)) using (DataTable tableUnites = dataSetUnites.Tables[0]) { int idUnite = 0; foreach (DataRow rowUnites in tableUnites.Rows) { idUnite = (int)rowUnites["idUniteMesure"]; } string requeteInsert = string.Format("INSERT INTO Aliments (idUniteMesure ,idCategorieAlimentaire, nom, mesure, imageURL) VALUES ({0}, {1}, '{2}', {3}, '{4}')", idUnite, idCategorie, unAliment.Nom, unAliment.Mesure, unAliment.ImageURL); connexion.Query(requeteInsert); string requeteAlim = string.Format("SELECT * FROM Aliments WHERE nom = '{0}'", unAliment.Nom); using (DataSet dataSetAlim = connexion.Query(requeteAlim)) using (DataTable tableAlim = dataSetAlim.Tables[0]) { int idAliment = 0; foreach (DataRow rowAlim in tableAlim.Rows) { idAliment = (int)rowAlim["idAliment"]; } int idEnergie = Associer_Valeur_Nutritionnelle("Calories"); int idProteine = Associer_Valeur_Nutritionnelle("Protéines"); int idGlucide = Associer_Valeur_Nutritionnelle("Glucides"); int idFibre = Associer_Valeur_Nutritionnelle("Fibres"); int idLipide = Associer_Valeur_Nutritionnelle("Lipides"); int idSodium = Associer_Valeur_Nutritionnelle("Sodium"); int idCholesterol = Associer_Valeur_Nutritionnelle("Cholestérol"); Inserer_Valeur_Nutritionnelle(idEnergie, idAliment, unAliment.Energie); Inserer_Valeur_Nutritionnelle(idProteine, idAliment, unAliment.Proteine); Inserer_Valeur_Nutritionnelle(idGlucide, idAliment, unAliment.Glucide); Inserer_Valeur_Nutritionnelle(idFibre, idAliment, unAliment.Fibre); Inserer_Valeur_Nutritionnelle(idLipide, idAliment, unAliment.Lipide); Inserer_Valeur_Nutritionnelle(idSodium, idAliment, unAliment.Sodium); Inserer_Valeur_Nutritionnelle(idCholesterol, idAliment, unAliment.Cholesterol); } } } } catch (Exception) { throw; } }