public static Meals GetMealWithID(int MealID) { string str = DataAccess.CnnVal(DataAccess.currentDBname); using (IDbConnection connection = new SqlConnection(str)) { var toReturn = connection.QueryFirst <Meals>("SELECT * FROM dbo.Dishes WHERE id=@id", new { id = MealID }); Meals meal = Meals.GetMealClassWithDishType(toReturn.Dishtype, toReturn); if (meal.GetType() == typeof(Burger)) { dynamic burgerData = connection.QuerySingle("SELECT * FROM dbo.Dishes WHERE Id=@dishid", new { dishid = meal.Id }); (meal as Burger).Bun = burgerData.Bun; (meal as Burger).Cheese = burgerData.Cheese; (meal as Burger).Patty = burgerData.Patty; } if (meal.GetType() == typeof(Pizza)) { dynamic pizzaData = connection.QuerySingle("SELECT * FROM dbo.Dishes WHERE Id=@dishid", new { dishid = meal.Id }); (meal as Pizza).Toppings = pizzaData.Toppings; } if (meal.GetType() == typeof(Pasta)) { dynamic pastaData = connection.QuerySingle("SELECT * FROM dbo.Dishes WHERE Id=@dishid", new { dishid = meal.Id }); (meal as Pasta).Meat = pastaData.Meat; (meal as Pasta).Pastatype = pastaData.Pastatype; } if (meal.GetType() == typeof(Steak)) { dynamic steakData = connection.QuerySingle("SELECT * FROM dbo.Dishes WHERE Id=@dishid", new { dishid = meal.Id }); (meal as Steak).Steaktype = steakData.Steaktype; (meal as Steak).Side = steakData.Side; } if (meal.GetType() == typeof(Drinks)) { dynamic drinkData = connection.QuerySingle("SELECT * FROM dbo.Dishes WHERE Id=@dishid", new { dishid = meal.Id }); (meal as Drinks).Amount = (int)drinkData.Amount; (meal as Drinks).isAlcoholic = drinkData.isAlcoholic; } var allergens = connection.Query <Allergen.AllergenType>("SELECT AllergenId FROM AllergensInDishes WHERE DishId=@id", new { id = MealID }).ToArray(); foreach (var allergenAsInt in allergens) { meal.AddAllergen(allergenAsInt); } return(meal); } }
public Meals GetAllergenFromUSer(Meals meal) { Console.WriteLine("Is the food allergen free?"); Console.WriteLine("Answer Y or N"); var allergens = Enum.GetNames(typeof(Allergen.AllergenType)); foreach (string str in allergens) { if (str != "negative") { Console.WriteLine(); Console.WriteLine(str); bool answer = GetYesOrNoFromUser(); if (answer == true) { Allergen.AllergenType an = (Allergen.AllergenType)Enum.Parse(typeof(Allergen.AllergenType), str); meal.AddAllergen(an); } } } return(meal); }