Skip to content
This repository has been archived by the owner on Mar 21, 2023. It is now read-only.

Gerechten dranken menu #16

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions RestaurantManager/Menu/Dish.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
namespace RestaurantManager;

public class Dish
{
public int ID;
public string Name;
public decimal Price;

public Dish(int id, string name, decimal price)
{
this.ID = id;
this.Name = name;
this.Price = price;
}
}
31 changes: 31 additions & 0 deletions RestaurantManager/Menu/Menu.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
namespace RestaurantManager;

public class Menu
{
public int ID;
public string Name;
public List<MenuCategory> Categories;

public Menu(int id, string name)
{
this.ID = id;
this.Name = name;
this.Categories = LoadCategoriesFromDatabase();
}


private List<MenuCategory> LoadCategoriesFromDatabase()
{
List<List<object>> categories = Program.Database.Execute(
"""
SELECT mc.*
FROM menu_categories mc
JOIN menu_category_links mcl ON mc.id = mcl.category_id
WHERE mcl.menu_id = %s
""", ID);

return categories.Select(c => new MenuCategory(
(int)(long)c[0],
(string)c[1])).ToList();
}
}
31 changes: 31 additions & 0 deletions RestaurantManager/Menu/MenuCategory.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
namespace RestaurantManager;

public class MenuCategory
{
public int ID;
public string Name;
public List<Dish> Dishes;

public MenuCategory(int id, string name)
{
this.ID = id;
this.Name = name;
this.Dishes = LoadDishesFromDatabase();
}

private List<Dish> LoadDishesFromDatabase()
{
List<List<object>> categories = Program.Database.Execute(
"""
SELECT dishes.*
FROM dishes
JOIN category_dish_links cdl ON dishes.id = cdl.dish_id
WHERE cdl.category_id = %s
""", ID);

return categories.Select(d => new Dish(
(int)(long)d[0],
(string)d[1],
Convert.ToDecimal(d[2]))).ToList();
}
}
15 changes: 15 additions & 0 deletions RestaurantManager/Menu/MenuManager.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
namespace RestaurantManager;

public static class MenuManager
{
public static List<Menu> Menus = LoadMenusFromDatabase();

private static List<Menu> LoadMenusFromDatabase()
{
List<List<object>> menus = Program.Database.Execute("SELECT * FROM menus");

return menus.Select(m => new Menu(
(int)(long)m[0],
(string)m[1])).ToList();
}
}
4 changes: 3 additions & 1 deletion RestaurantManager/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

static class Program
{
public static readonly DatabaseConnection Database = new DatabaseConnection("DatabaseCredentials.json");

public static void Main(string[] args)
{

}
}
2 changes: 1 addition & 1 deletion RestaurantManager/RestaurantManager.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
Expand Down