project creation
This commit is contained in:
commit
ff673ed20c
BIN
.vs/APO_Restaurant_Project/v16/.suo
Normal file
BIN
.vs/APO_Restaurant_Project/v16/.suo
Normal file
Binary file not shown.
3
.vs/ProjectSettings.json
Normal file
3
.vs/ProjectSettings.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"CurrentProjectSetting": null
|
||||
}
|
9
.vs/VSWorkspaceState.json
Normal file
9
.vs/VSWorkspaceState.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"ExpandedNodes": [
|
||||
"",
|
||||
"\\apo-restaurant",
|
||||
"\\apo-restaurant\\apo-restaurant"
|
||||
],
|
||||
"SelectedNode": "\\apo-restaurant\\apo-restaurant.sln",
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
BIN
.vs/slnx.sqlite
Normal file
BIN
.vs/slnx.sqlite
Normal file
Binary file not shown.
BIN
apo-restaurant/.vs/apo-restaurant/DesignTimeBuild/.dtbcache.v2
Normal file
BIN
apo-restaurant/.vs/apo-restaurant/DesignTimeBuild/.dtbcache.v2
Normal file
Binary file not shown.
BIN
apo-restaurant/.vs/apo-restaurant/v16/.suo
Normal file
BIN
apo-restaurant/.vs/apo-restaurant/v16/.suo
Normal file
Binary file not shown.
25
apo-restaurant/apo-restaurant.sln
Normal file
25
apo-restaurant/apo-restaurant.sln
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31613.86
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "apo-restaurant", "apo-restaurant\apo-restaurant.csproj", "{0631FEE6-160B-45E4-AF74-D7DA193BF436}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0631FEE6-160B-45E4-AF74-D7DA193BF436}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0631FEE6-160B-45E4-AF74-D7DA193BF436}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0631FEE6-160B-45E4-AF74-D7DA193BF436}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0631FEE6-160B-45E4-AF74-D7DA193BF436}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {61B20210-ED68-4186-8A31-F593274AB500}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
14
apo-restaurant/apo-restaurant/API/KitchenAPI.cs
Normal file
14
apo-restaurant/apo-restaurant/API/KitchenAPI.cs
Normal file
@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace apo_restaurant.API
|
||||
{
|
||||
public static class KitchenAPI
|
||||
{
|
||||
public static void InformKitchen()
|
||||
{
|
||||
Console.WriteLine("Kitchen has been informed about the order.");
|
||||
}
|
||||
}
|
||||
}
|
16
apo-restaurant/apo-restaurant/API/WarehouseAPI.cs
Normal file
16
apo-restaurant/apo-restaurant/API/WarehouseAPI.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using apo_restaurant.Database.Access;
|
||||
|
||||
namespace apo_restaurant.API
|
||||
{
|
||||
public static class WarehouseAPI
|
||||
{
|
||||
public static DatabaseContext AccessWarehouseDB()
|
||||
{
|
||||
return Constants.DbContext;
|
||||
}
|
||||
}
|
||||
}
|
191
apo-restaurant/apo-restaurant/Classes/Cuisine/Dish.cs
Normal file
191
apo-restaurant/apo-restaurant/Classes/Cuisine/Dish.cs
Normal file
@ -0,0 +1,191 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using static apo_restaurant.Constants;
|
||||
using static apo_restaurant.API.WarehouseAPI;
|
||||
using apo_restaurant.Database.Models;
|
||||
using apo_restaurant.Exceptions;
|
||||
using System.Linq;
|
||||
|
||||
namespace apo_restaurant.Classes.Cuisine
|
||||
{
|
||||
public class Dish
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public double? Price { get; set; }
|
||||
public List<Ingredient> Ingredients { get; set; }
|
||||
|
||||
public Dish()
|
||||
{
|
||||
this.Id = null;
|
||||
this.Name = CustomDishName;
|
||||
this.Price = 0;
|
||||
this.Ingredients = new List<Ingredient>();
|
||||
}
|
||||
|
||||
public Dish(int id)
|
||||
{
|
||||
DishModel dish = AccessWarehouseDB().Dishes.Find(id);
|
||||
|
||||
if (dish == null)
|
||||
throw new EntryNotFoundException();
|
||||
|
||||
this.Id = dish.Id;
|
||||
this.Name = dish.Name;
|
||||
this.Price = dish.Price;
|
||||
this.Ingredients = new List<Ingredient>();
|
||||
|
||||
List<Dish_Ingredient> dishIngredients = AccessWarehouseDB()
|
||||
.Dishes_Ingredients
|
||||
.Where(dishIngredient => dishIngredient.DishId == this.Id)
|
||||
.ToList();
|
||||
|
||||
foreach (Dish_Ingredient dishIngredient in dishIngredients)
|
||||
{
|
||||
this.Ingredients.Add(
|
||||
new Ingredient(
|
||||
AccessWarehouseDB().Ingredients.Find(dishIngredient.IngredientId)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (this.Price == null)
|
||||
this.Price = AccessWarehouseDB()
|
||||
.Ingredients
|
||||
.ToList()
|
||||
.Where(ingredient => this.Ingredients.Any(_ingredient => _ingredient.Id == ingredient.Id))
|
||||
.Sum(ingredient => ingredient.DefaultPrice);
|
||||
}
|
||||
|
||||
// potentially to be deleted
|
||||
public Dish(string name)
|
||||
{
|
||||
if (AccessWarehouseDB().Dishes.Where(_dish => _dish.Name == name).Count() == 0)
|
||||
throw new EntryNotFoundException();
|
||||
|
||||
DishModel dish = AccessWarehouseDB().Dishes.Where(_dish => _dish.Name == name).First();
|
||||
|
||||
this.Id = dish.Id;
|
||||
this.Name = dish.Name;
|
||||
this.Price = dish.Price;
|
||||
this.Ingredients = new List<Ingredient>();
|
||||
|
||||
List<Dish_Ingredient> dishIngredients = AccessWarehouseDB()
|
||||
.Dishes_Ingredients
|
||||
.Where(dishIngredient => dishIngredient.DishId == this.Id)
|
||||
.ToList();
|
||||
|
||||
foreach (Dish_Ingredient dishIngredient in dishIngredients)
|
||||
{
|
||||
this.Ingredients.Add(
|
||||
new Ingredient(
|
||||
AccessWarehouseDB().Ingredients.Find(dishIngredient.IngredientId)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (this.Price == null)
|
||||
this.Price = AccessWarehouseDB()
|
||||
.Ingredients
|
||||
.ToList()
|
||||
.Where(ingredient => this.Ingredients.Any(_ingredient => _ingredient.Id == ingredient.Id))
|
||||
.Sum(ingredient => ingredient.DefaultPrice);
|
||||
}
|
||||
|
||||
public void AddIngredient(int addedIngId)
|
||||
{
|
||||
// if dish already has added ingredient: return
|
||||
if (this.Ingredients.Any(ingredient => ingredient.Id == addedIngId))
|
||||
return;
|
||||
|
||||
Ingredient addedIngredient = new Ingredient(addedIngId);
|
||||
|
||||
this.Ingredients.Add(addedIngredient);
|
||||
this.CheckForSubstitutes();
|
||||
}
|
||||
|
||||
public void AddIngredient(string addedIngName)
|
||||
{
|
||||
// if dish already has added ingredient: return
|
||||
if (this.Ingredients.Any(ingredient => ingredient.Name == addedIngName))
|
||||
return;
|
||||
|
||||
Ingredient addedIngredient = new Ingredient(addedIngName);
|
||||
|
||||
this.Ingredients.Add(addedIngredient);
|
||||
this.CheckForSubstitutes();
|
||||
}
|
||||
|
||||
public void RemoveIngredient(int removedIngId)
|
||||
{
|
||||
// if dish already doesnt have removed ingredient: return
|
||||
if (!this.Ingredients.Any(ingredient => ingredient.Id == removedIngId))
|
||||
return;
|
||||
|
||||
this.Ingredients.Remove(this.Ingredients.Find(ingredient => ingredient.Id == removedIngId));
|
||||
this.CheckForSubstitutes();
|
||||
}
|
||||
|
||||
public void RemoveIngredient(string removedIngName)
|
||||
{
|
||||
// if dish already doesnt have removed ingredient: return
|
||||
if (!this.Ingredients.Any(ingredient => ingredient.Name == removedIngName))
|
||||
return;
|
||||
|
||||
this.Ingredients.Remove(this.Ingredients.Find(ingredient => ingredient.Name == removedIngName));
|
||||
this.CheckForSubstitutes();
|
||||
}
|
||||
|
||||
private void CheckForSubstitutes()
|
||||
{
|
||||
int numberOfIngredients = this.Ingredients.Count();
|
||||
|
||||
List<Dish_Ingredient> dishIngridients = AccessWarehouseDB()
|
||||
.Dishes_Ingredients
|
||||
.ToList();
|
||||
|
||||
List<DishModel> dishes = AccessWarehouseDB()
|
||||
.Dishes
|
||||
.ToList();
|
||||
|
||||
foreach (DishModel dish in dishes)
|
||||
{
|
||||
List<Dish_Ingredient> aDishIngredients = dishIngridients
|
||||
.Where(dishIngredient => dishIngredient.DishId == dish.Id)
|
||||
.ToList();
|
||||
|
||||
if (
|
||||
numberOfIngredients == aDishIngredients.Count() &&
|
||||
this.Ingredients
|
||||
.All(ingridient => aDishIngredients
|
||||
.Any(dishIngridient => dishIngridient.IngredientId == ingridient.Id)
|
||||
)
|
||||
)
|
||||
{
|
||||
this.Id = dish.Id;
|
||||
this.Name = dish.Name;
|
||||
this.Price = dish.Price;
|
||||
|
||||
if (this.Price == null)
|
||||
this.Price = AccessWarehouseDB()
|
||||
.Ingredients
|
||||
.ToList()
|
||||
.Where(ingredient => this.Ingredients.Any(_ingredient => _ingredient.Id == ingredient.Id))
|
||||
.Sum(ingredient => ingredient.DefaultPrice);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.Id = null;
|
||||
this.Name = CustomDishName;
|
||||
this.Price = AccessWarehouseDB()
|
||||
.Ingredients
|
||||
.ToList()
|
||||
.Where(ingredient => this.Ingredients.Any(_ingredient => _ingredient.Id == ingredient.Id))
|
||||
.Sum(ingredient => ingredient.DefaultPrice);
|
||||
}
|
||||
}
|
||||
}
|
56
apo-restaurant/apo-restaurant/Classes/Cuisine/Ingredient.cs
Normal file
56
apo-restaurant/apo-restaurant/Classes/Cuisine/Ingredient.cs
Normal file
@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using static apo_restaurant.Constants;
|
||||
using apo_restaurant.Exceptions;
|
||||
using apo_restaurant.Database.Models;
|
||||
using System.Linq;
|
||||
|
||||
namespace apo_restaurant.Classes.Cuisine
|
||||
{
|
||||
public class Ingredient
|
||||
{
|
||||
public int Id { get; }
|
||||
public int Quantity { get; set; }
|
||||
public string Name { get; }
|
||||
public double DefaultPrice { get; }
|
||||
|
||||
public Ingredient(int id)
|
||||
{
|
||||
IngredientModel ingredient = DbContext.Ingredients.Find(id);
|
||||
|
||||
if (ingredient == null)
|
||||
throw new EntryNotFoundException();
|
||||
|
||||
this.Id = ingredient.Id;
|
||||
this.Quantity = ingredient.Quantity;
|
||||
this.Name = ingredient.Name;
|
||||
this.DefaultPrice = ingredient.DefaultPrice;
|
||||
}
|
||||
|
||||
public Ingredient(string name)
|
||||
{
|
||||
IngredientModel ingredient = DbContext
|
||||
.Ingredients
|
||||
.Where(_ingredient => _ingredient.Name == name)
|
||||
.First();
|
||||
|
||||
if (ingredient == null)
|
||||
throw new EntryNotFoundException();
|
||||
|
||||
this.Id = ingredient.Id;
|
||||
this.Quantity = ingredient.Quantity;
|
||||
this.Name = ingredient.Name;
|
||||
this.DefaultPrice = ingredient.DefaultPrice;
|
||||
}
|
||||
|
||||
public Ingredient(IngredientModel ingredientModel)
|
||||
{
|
||||
this.Id = ingredientModel.Id;
|
||||
this.Quantity = ingredientModel.Quantity;
|
||||
this.Name = ingredientModel.Name;
|
||||
this.DefaultPrice = ingredientModel.DefaultPrice;
|
||||
}
|
||||
}
|
||||
}
|
129
apo-restaurant/apo-restaurant/Classes/Orders/Order.cs
Normal file
129
apo-restaurant/apo-restaurant/Classes/Orders/Order.cs
Normal file
@ -0,0 +1,129 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using static apo_restaurant.Database.Access.DatabaseAccesser;
|
||||
using static apo_restaurant.API.WarehouseAPI;
|
||||
using System.Linq;
|
||||
using apo_restaurant.Classes.Cuisine;
|
||||
using apo_restaurant.Exceptions;
|
||||
|
||||
namespace apo_restaurant.Classes.Orders
|
||||
{
|
||||
public class Order
|
||||
{
|
||||
public List<OrderElement> OrderElements { get; set; }
|
||||
public OrderElement EditedOrderElement { get; set; }
|
||||
public List<Ingredient> IngredientsNeeded = new List<Ingredient>();
|
||||
|
||||
public Order()
|
||||
{
|
||||
OrderElements = new List<OrderElement>();
|
||||
}
|
||||
|
||||
public void AddOrderElement()
|
||||
{
|
||||
OrderElements.Add(new OrderElement());
|
||||
}
|
||||
|
||||
public void AddOrderElement(int id, string note)
|
||||
{
|
||||
List<Ingredient> ingredients = GetDishIngredients(id);
|
||||
|
||||
foreach (Ingredient ingredient in ingredients)
|
||||
if (!this.IngredientsNeeded.Any(_ingredient => _ingredient.Id == ingredient.Id))
|
||||
{
|
||||
Ingredient addedIngredient = new Ingredient(ingredient.Id);
|
||||
|
||||
addedIngredient.Quantity = 0;
|
||||
|
||||
this.IngredientsNeeded.Add(addedIngredient);
|
||||
}
|
||||
|
||||
// checking if any required ingredient isnt out
|
||||
foreach (Ingredient ingredient in ingredients)
|
||||
if (AccessWarehouseDB()
|
||||
.Ingredients
|
||||
.Find(ingredient.Id)
|
||||
.Quantity == 0)
|
||||
throw new MissingIngredientException();
|
||||
|
||||
foreach (Ingredient ingredient in ingredients)
|
||||
if (this.IngredientsNeeded
|
||||
.Any(_ingredient => _ingredient.Id == ingredient.Id) &&
|
||||
this.IngredientsNeeded
|
||||
.Where(_ingredient => _ingredient.Id == ingredient.Id)
|
||||
.First().Quantity == ingredient.Quantity)
|
||||
throw new MissingIngredientException();
|
||||
|
||||
foreach (Ingredient ingredient in ingredients)
|
||||
this.IngredientsNeeded
|
||||
.Where(_ingredient => _ingredient.Id == ingredient.Id)
|
||||
.First().Quantity += 1;
|
||||
|
||||
OrderElements.Add(new OrderElement(id, note));
|
||||
}
|
||||
|
||||
public void RemoveOrderElement(int index)
|
||||
{
|
||||
OrderElement orderElement = this.OrderElements.ElementAt(index);
|
||||
|
||||
foreach (Ingredient ingredient in orderElement.OrderedDish.Ingredients)
|
||||
{
|
||||
this.IngredientsNeeded
|
||||
.Where(_ingredient => _ingredient.Id == ingredient.Id)
|
||||
.First().Quantity -= 1;
|
||||
}
|
||||
|
||||
this.OrderElements.RemoveAt(index);
|
||||
}
|
||||
|
||||
public void ChangeEditedOrderElement(int index)
|
||||
{
|
||||
if (index >= this.OrderElements.Count())
|
||||
return;
|
||||
|
||||
this.EditedOrderElement = this.OrderElements.ElementAt(index);
|
||||
}
|
||||
|
||||
public void AddIngredientToEditedOrderElement(int ingredientId)
|
||||
{
|
||||
if (!this.IngredientsNeeded.Any(_ingredient => _ingredient.Id == ingredientId))
|
||||
{
|
||||
Ingredient addedIngredient = new Ingredient(ingredientId);
|
||||
|
||||
addedIngredient.Quantity = 0;
|
||||
|
||||
this.IngredientsNeeded.Add(addedIngredient);
|
||||
}
|
||||
|
||||
// checking if the required ingredient isnt out
|
||||
if (AccessWarehouseDB()
|
||||
.Ingredients
|
||||
.Find(ingredientId)
|
||||
.Quantity == 0)
|
||||
throw new MissingIngredientException();
|
||||
|
||||
if (AccessWarehouseDB().Ingredients
|
||||
.Find(ingredientId)
|
||||
.Quantity == this.IngredientsNeeded
|
||||
.Where(ingredient => ingredient.Id == ingredientId)
|
||||
.First().Quantity)
|
||||
throw new MissingIngredientException();
|
||||
|
||||
EditedOrderElement.OrderedDish.AddIngredient(ingredientId);
|
||||
this.IngredientsNeeded
|
||||
.Where(ingredient => ingredient.Id == ingredientId)
|
||||
.First().Quantity += 1;
|
||||
}
|
||||
|
||||
public void RemoveIngredientFromEditedOrderElement(int id)
|
||||
{
|
||||
this.IngredientsNeeded
|
||||
.Where(ingredient => ingredient.Id == id)
|
||||
.First().Quantity -= 1;
|
||||
|
||||
this.EditedOrderElement.OrderedDish.RemoveIngredient(id);
|
||||
}
|
||||
}
|
||||
}
|
30
apo-restaurant/apo-restaurant/Classes/Orders/OrderElement.cs
Normal file
30
apo-restaurant/apo-restaurant/Classes/Orders/OrderElement.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using apo_restaurant.Classes.Cuisine;
|
||||
|
||||
namespace apo_restaurant.Classes.Orders
|
||||
{
|
||||
public class OrderElement
|
||||
{
|
||||
public Dish OrderedDish { get; set; }
|
||||
public string Note { get; set; }
|
||||
|
||||
public OrderElement()
|
||||
{
|
||||
this.OrderedDish = new Dish();
|
||||
}
|
||||
|
||||
public OrderElement(int id, string note)
|
||||
{
|
||||
this.OrderedDish = new Dish(id);
|
||||
this.Note = note;
|
||||
}
|
||||
|
||||
public OrderElement(string name)
|
||||
{
|
||||
this.OrderedDish = new Dish(name);
|
||||
}
|
||||
}
|
||||
}
|
265
apo-restaurant/apo-restaurant/Classes/UI/UserInterface.cs
Normal file
265
apo-restaurant/apo-restaurant/Classes/UI/UserInterface.cs
Normal file
@ -0,0 +1,265 @@
|
||||
using apo_restaurant.Classes.Cuisine;
|
||||
using apo_restaurant.Classes.Orders;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static apo_restaurant.API.WarehouseAPI;
|
||||
using static apo_restaurant.Database.Access.DatabaseAccesser;
|
||||
|
||||
namespace apo_restaurant.Classes.UI
|
||||
{
|
||||
public static class UserInterface
|
||||
{
|
||||
public static int OptionsMenu()
|
||||
{
|
||||
int userInput = -1;
|
||||
|
||||
string optionsMenu =
|
||||
"\n" +
|
||||
"1. Choose a dish from menu\n" +
|
||||
"2. Edit a dish\n" +
|
||||
"3. Remove a dish\n" +
|
||||
"4. See order in detail\n" +
|
||||
"0. Send order\n" +
|
||||
": ";
|
||||
|
||||
do
|
||||
{
|
||||
Console.Write(optionsMenu);
|
||||
|
||||
try
|
||||
{
|
||||
userInput = int.Parse(Console.ReadLine());
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Console.Clear();
|
||||
continue;
|
||||
}
|
||||
|
||||
Console.Clear();
|
||||
|
||||
} while (userInput < 0 || userInput > 4);
|
||||
|
||||
return(userInput);
|
||||
}
|
||||
|
||||
public static OrderElement MainMenu()
|
||||
{
|
||||
int userInput = -1;
|
||||
List<Dish> dishes = GetDishes();
|
||||
OrderElement orderElement = new OrderElement();
|
||||
|
||||
do
|
||||
{
|
||||
for(int i = 0; i < dishes.Count(); i++)
|
||||
{
|
||||
Dish dish = dishes.ElementAt(i);
|
||||
Console.Write((i + 1) + ") " + dish.Name + "\n | price: " + dish.Price + "\n | ingredients: [ ");
|
||||
dish.Ingredients.ForEach(ingredient => Console.Write(ingredient.Name + ", "));
|
||||
Console.WriteLine("]\n");
|
||||
}
|
||||
|
||||
Console.Write(": ");
|
||||
|
||||
try
|
||||
{
|
||||
userInput = int.Parse(Console.ReadLine());
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Console.Clear();
|
||||
continue;
|
||||
}
|
||||
|
||||
Console.Clear();
|
||||
|
||||
} while (userInput < 1 || userInput > dishes.Count());
|
||||
|
||||
orderElement.OrderedDish = dishes.ElementAt(userInput - 1);
|
||||
|
||||
Console.WriteLine("Write a note: ");
|
||||
string note = Console.ReadLine();
|
||||
|
||||
Console.Clear();
|
||||
|
||||
orderElement.Note = note;
|
||||
|
||||
return (orderElement);
|
||||
}
|
||||
|
||||
public static int EditingMenu(OrderElement orderElement)
|
||||
{
|
||||
int userInput = -1;
|
||||
string editingMenu =
|
||||
"1) Edit choosen Dish\n" +
|
||||
"2) Edit note\n" +
|
||||
"3) Change choosen dish\n" +
|
||||
"4) Create a new custom dish\n" +
|
||||
"0) Go back";
|
||||
|
||||
do
|
||||
{
|
||||
if(orderElement != null)
|
||||
{
|
||||
Console.WriteLine("[CHOOSEN]");
|
||||
Console.Write(orderElement.OrderedDish.Name + "\nprice: " + orderElement.OrderedDish.Price + "\ningredients: [ ");
|
||||
orderElement.OrderedDish.Ingredients.ForEach(ingredient => Console.Write(ingredient.Name + ", "));
|
||||
Console.WriteLine("]\nnote:" + orderElement.Note + "\n\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("No dish is choosen for editing!");
|
||||
}
|
||||
|
||||
Console.WriteLine(editingMenu);
|
||||
|
||||
try
|
||||
{
|
||||
userInput = int.Parse(Console.ReadLine());
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Console.Clear();
|
||||
continue;
|
||||
}
|
||||
|
||||
Console.Clear();
|
||||
|
||||
} while (userInput < 0 || userInput > 4);
|
||||
|
||||
return (userInput);
|
||||
}
|
||||
|
||||
public static int EditingMenu_Choose(List<OrderElement> orderElements)
|
||||
{
|
||||
int userInput = -1;
|
||||
|
||||
do
|
||||
{
|
||||
for (int i = 0; i < orderElements.Count(); i++)
|
||||
{
|
||||
Dish dish = orderElements.ElementAt(i).OrderedDish;
|
||||
Console.Write((i + 1) + ") " + dish.Name + "\n | price: " + dish.Price + "\n | ingredients: [ ");
|
||||
dish.Ingredients.ForEach(ingredient => Console.Write(ingredient.Name + ", "));
|
||||
Console.WriteLine("]\n");
|
||||
}
|
||||
|
||||
Console.Write(": ");
|
||||
|
||||
try
|
||||
{
|
||||
userInput = int.Parse(Console.ReadLine());
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Console.Clear();
|
||||
continue;
|
||||
}
|
||||
|
||||
Console.Clear();
|
||||
|
||||
} while (userInput < 1 || userInput > orderElements.Count());
|
||||
|
||||
return (userInput);
|
||||
}
|
||||
|
||||
public static void EditingMenu_Edit(Order order)
|
||||
{
|
||||
int userInput = -2;
|
||||
List<Ingredient> ingredientsToAdd = GetIngredients();
|
||||
List<Ingredient> ingredientsToRemove = order.EditedOrderElement.OrderedDish.Ingredients;
|
||||
|
||||
do
|
||||
{
|
||||
Console.WriteLine("[EDITED]");
|
||||
Dish dish = order.EditedOrderElement.OrderedDish;
|
||||
Console.Write(" | " + dish.Name + "\n | price: " + dish.Price + "\n | ingredients: [ ");
|
||||
dish.Ingredients.ForEach(ingredient => Console.Write(ingredient.Name + ", "));
|
||||
Console.WriteLine("]\n | comment: " + order.EditedOrderElement.Note);
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("-1) quit");
|
||||
Console.WriteLine("0) remove ingredients");
|
||||
|
||||
for (int i = 0; i < ingredientsToAdd.Count(); i++)
|
||||
Console.WriteLine((i + 1) + ") add " + ingredientsToAdd.ElementAt(i).Name);
|
||||
|
||||
Console.Write(": ");
|
||||
|
||||
try
|
||||
{
|
||||
userInput = int.Parse(Console.ReadLine());
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Console.Clear();
|
||||
continue;
|
||||
}
|
||||
|
||||
Console.Clear();
|
||||
|
||||
if (userInput > 0 && userInput <= ingredientsToAdd.Count())
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
order.AddIngredientToEditedOrderElement(ingredientsToAdd.ElementAt(userInput - 1).Id);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
} while (userInput < -1 || userInput > 0);
|
||||
|
||||
if (userInput == -1)
|
||||
return;
|
||||
|
||||
do
|
||||
{
|
||||
Console.WriteLine("[EDITED]");
|
||||
Dish dish = order.EditedOrderElement.OrderedDish;
|
||||
Console.Write(" | " + dish.Name + "\n | price: " + dish.Price + "\n | ingredients: [ ");
|
||||
dish.Ingredients.ForEach(ingredient => Console.Write(ingredient.Name + ", "));
|
||||
Console.WriteLine("]\n | comment: " + order.EditedOrderElement.Note);
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("0) quit");
|
||||
|
||||
for (int i = 0; i < ingredientsToRemove.Count(); i++)
|
||||
Console.WriteLine((i + 1) + ") remove " + ingredientsToRemove.ElementAt(i).Name);
|
||||
|
||||
Console.Write(": ");
|
||||
|
||||
try
|
||||
{
|
||||
userInput = int.Parse(Console.ReadLine());
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Console.Clear();
|
||||
continue;
|
||||
}
|
||||
|
||||
Console.Clear();
|
||||
|
||||
if (userInput > 0 && userInput <= ingredientsToRemove.Count())
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
order.RemoveIngredientFromEditedOrderElement(ingredientsToRemove.ElementAt(userInput - 1).Id);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
} while (userInput != 0);
|
||||
}
|
||||
}
|
||||
}
|
20
apo-restaurant/apo-restaurant/Constants.cs
Normal file
20
apo-restaurant/apo-restaurant/Constants.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using apo_restaurant.Database.Access;
|
||||
|
||||
namespace apo_restaurant
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
public static string ConnectionString = @"Server=localhost;Database=ApoRestaurantProjectDB_01;Integrated Security=True;";
|
||||
public static string CustomDishName = "custom dish";
|
||||
public static DatabaseContext DbContext;
|
||||
|
||||
static Constants()
|
||||
{
|
||||
DbContext = new DatabaseContext();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using static apo_restaurant.API.WarehouseAPI;
|
||||
using apo_restaurant.Database.Models;
|
||||
using System.Linq;
|
||||
using apo_restaurant.Classes.Cuisine;
|
||||
|
||||
namespace apo_restaurant.Database.Access
|
||||
{
|
||||
public static class DatabaseAccesser
|
||||
{
|
||||
public static List<Dish> GetDishes()
|
||||
{
|
||||
List<Dish> dishes = new List<Dish>();
|
||||
List<DishModel> dishModels = AccessWarehouseDB().Dishes.ToList();
|
||||
|
||||
foreach (DishModel dishModel in dishModels)
|
||||
dishes.Add(new Dish(dishModel.Id));
|
||||
|
||||
return (dishes);
|
||||
}
|
||||
|
||||
public static List<Ingredient> GetIngredients()
|
||||
{
|
||||
List<Ingredient> ingredients = new List<Ingredient>();
|
||||
List<IngredientModel> ingredientModels = AccessWarehouseDB().Ingredients.ToList();
|
||||
|
||||
foreach (IngredientModel ingredientModel in ingredientModels)
|
||||
ingredients.Add(new Ingredient(ingredientModel));
|
||||
|
||||
return (ingredients);
|
||||
}
|
||||
|
||||
public static List<IngredientModel> GetDishIngredientModels(int id)
|
||||
{
|
||||
List<Dish_Ingredient> dishIngredientRelations = AccessWarehouseDB()
|
||||
.Dishes_Ingredients
|
||||
.Where(dishesIngredients => dishesIngredients.DishId == id)
|
||||
.ToList();
|
||||
|
||||
return (AccessWarehouseDB()
|
||||
.Ingredients
|
||||
.ToList()
|
||||
.Where(ingredient => dishIngredientRelations.Any(dishIngredient => dishIngredient.IngredientId == ingredient.Id))
|
||||
.ToList()
|
||||
);
|
||||
}
|
||||
|
||||
public static List<Ingredient> GetDishIngredients(int id)
|
||||
{
|
||||
List<Ingredient> ingredients = new List<Ingredient>();
|
||||
|
||||
foreach (IngredientModel ingredientModel in GetDishIngredientModels(id))
|
||||
ingredients.Add(new Ingredient(ingredientModel));
|
||||
|
||||
return (ingredients);
|
||||
}
|
||||
|
||||
public static Ingredient GetDishIngredient(int id)
|
||||
{
|
||||
return (new Ingredient(AccessWarehouseDB().Ingredients.Find(id)));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
using static apo_restaurant.Constants;
|
||||
using apo_restaurant.Database.Models;
|
||||
|
||||
namespace apo_restaurant.Database.Access
|
||||
{
|
||||
public class DatabaseContext : DbContext
|
||||
{
|
||||
public DbSet<IngredientModel> Ingredients { get; set; }
|
||||
public DbSet<DishModel> Dishes { get; set; }
|
||||
public DbSet<Dish_Ingredient> Dishes_Ingredients { get; set; }
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
optionsBuilder.UseSqlServer(ConnectionString);
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<Dish_Ingredient>()
|
||||
.HasKey(c => new { c.DishId, c.IngredientId });
|
||||
|
||||
modelBuilder.Entity<Dish_Ingredient>()
|
||||
.HasOne(d => d.Dish)
|
||||
.WithMany(i => i.Dish_Ingredients)
|
||||
.HasForeignKey(di => di.DishId);
|
||||
|
||||
modelBuilder.Entity<Dish_Ingredient>()
|
||||
.HasOne(i => i.Ingredient)
|
||||
.WithMany(i => i.Dish_Ingredients)
|
||||
.HasForeignKey(ii => ii.IngredientId);
|
||||
}
|
||||
}
|
||||
}
|
21
apo-restaurant/apo-restaurant/Database/Models/DishModel.cs
Normal file
21
apo-restaurant/apo-restaurant/Database/Models/DishModel.cs
Normal file
@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace apo_restaurant.Database.Models
|
||||
{
|
||||
public class DishModel
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
public int Id { get; set; }
|
||||
[Required]
|
||||
[MaxLength(48)]
|
||||
public string Name { get; set; }
|
||||
public double? Price { get; set; }
|
||||
public List<Dish_Ingredient> Dish_Ingredients { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace apo_restaurant.Database.Models
|
||||
{
|
||||
public class Dish_Ingredient
|
||||
{
|
||||
[Key]
|
||||
public int DishId { get; set; }
|
||||
[ForeignKey("DishId")]
|
||||
public DishModel Dish { get; set; }
|
||||
|
||||
|
||||
[Key]
|
||||
public int IngredientId { get; set; }
|
||||
[ForeignKey("IngredientId")]
|
||||
public IngredientModel Ingredient { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace apo_restaurant.Database.Models
|
||||
{
|
||||
public class IngredientModel
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
public int Id { get; set; }
|
||||
[Required]
|
||||
public int Quantity { get; set; }
|
||||
[Required]
|
||||
[MaxLength(48)]
|
||||
public string Name { get; set; }
|
||||
[Required]
|
||||
public double DefaultPrice { get; set; }
|
||||
public List<Dish_Ingredient> Dish_Ingredients { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace apo_restaurant.Exceptions
|
||||
{
|
||||
public class EntryNotFoundException : Exception
|
||||
{
|
||||
public override string Message
|
||||
{
|
||||
get
|
||||
{
|
||||
return "searched entry was not found";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace apo_restaurant.Exceptions
|
||||
{
|
||||
class MissingIngredientException : Exception
|
||||
{
|
||||
public override string Message
|
||||
{
|
||||
get
|
||||
{
|
||||
return "some ingredient(s) required for the dish are missing";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
113
apo-restaurant/apo-restaurant/Migrations/20211012175624_CreateDB.Designer.cs
generated
Normal file
113
apo-restaurant/apo-restaurant/Migrations/20211012175624_CreateDB.Designer.cs
generated
Normal file
@ -0,0 +1,113 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using apo_restaurant.Database.Access;
|
||||
|
||||
namespace apo_restaurant.Migrations
|
||||
{
|
||||
[DbContext(typeof(DatabaseContext))]
|
||||
[Migration("20211012175624_CreateDB")]
|
||||
partial class CreateDB
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
||||
.HasAnnotation("ProductVersion", "5.0.11")
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.DishModel", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(48)
|
||||
.HasColumnType("nvarchar(48)");
|
||||
|
||||
b.Property<double?>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Dishes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.Dish_Ingredient", b =>
|
||||
{
|
||||
b.Property<int>("DishId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("IngredientId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("DishId", "IngredientId");
|
||||
|
||||
b.HasIndex("IngredientId");
|
||||
|
||||
b.ToTable("Dishes_Ingredients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.IngredientModel", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
b.Property<double>("DefaultPrice")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(48)
|
||||
.HasColumnType("nvarchar(48)");
|
||||
|
||||
b.Property<int>("Quantity")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Ingredients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.Dish_Ingredient", b =>
|
||||
{
|
||||
b.HasOne("apo_restaurant.Database.Models.DishModel", "Dish")
|
||||
.WithMany("Dish_Ingredients")
|
||||
.HasForeignKey("DishId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("apo_restaurant.Database.Models.IngredientModel", "Ingredient")
|
||||
.WithMany("Dish_Ingredients")
|
||||
.HasForeignKey("IngredientId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Dish");
|
||||
|
||||
b.Navigation("Ingredient");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.DishModel", b =>
|
||||
{
|
||||
b.Navigation("Dish_Ingredients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.IngredientModel", b =>
|
||||
{
|
||||
b.Navigation("Dish_Ingredients");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace apo_restaurant.Migrations
|
||||
{
|
||||
public partial class CreateDB : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Dishes",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
Name = table.Column<string>(type: "nvarchar(48)", maxLength: 48, nullable: false),
|
||||
Price = table.Column<double>(type: "float", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Dishes", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Ingredients",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
Quantity = table.Column<int>(type: "int", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(48)", maxLength: 48, nullable: false),
|
||||
DefaultPrice = table.Column<double>(type: "float", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Ingredients", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Dishes_Ingredients",
|
||||
columns: table => new
|
||||
{
|
||||
DishId = table.Column<int>(type: "int", nullable: false),
|
||||
IngredientId = table.Column<int>(type: "int", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Dishes_Ingredients", x => new { x.DishId, x.IngredientId });
|
||||
table.ForeignKey(
|
||||
name: "FK_Dishes_Ingredients_Dishes_DishId",
|
||||
column: x => x.DishId,
|
||||
principalTable: "Dishes",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_Dishes_Ingredients_Ingredients_IngredientId",
|
||||
column: x => x.IngredientId,
|
||||
principalTable: "Ingredients",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Dishes_Ingredients_IngredientId",
|
||||
table: "Dishes_Ingredients",
|
||||
column: "IngredientId");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Dishes_Ingredients");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Dishes");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Ingredients");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using apo_restaurant.Database.Access;
|
||||
|
||||
namespace apo_restaurant.Migrations
|
||||
{
|
||||
[DbContext(typeof(DatabaseContext))]
|
||||
partial class DatabaseContextModelSnapshot : ModelSnapshot
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
||||
.HasAnnotation("ProductVersion", "5.0.11")
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.DishModel", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(48)
|
||||
.HasColumnType("nvarchar(48)");
|
||||
|
||||
b.Property<double?>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Dishes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.Dish_Ingredient", b =>
|
||||
{
|
||||
b.Property<int>("DishId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("IngredientId")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("DishId", "IngredientId");
|
||||
|
||||
b.HasIndex("IngredientId");
|
||||
|
||||
b.ToTable("Dishes_Ingredients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.IngredientModel", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
b.Property<double>("DefaultPrice")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(48)
|
||||
.HasColumnType("nvarchar(48)");
|
||||
|
||||
b.Property<int>("Quantity")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Ingredients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.Dish_Ingredient", b =>
|
||||
{
|
||||
b.HasOne("apo_restaurant.Database.Models.DishModel", "Dish")
|
||||
.WithMany("Dish_Ingredients")
|
||||
.HasForeignKey("DishId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("apo_restaurant.Database.Models.IngredientModel", "Ingredient")
|
||||
.WithMany("Dish_Ingredients")
|
||||
.HasForeignKey("IngredientId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Dish");
|
||||
|
||||
b.Navigation("Ingredient");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.DishModel", b =>
|
||||
{
|
||||
b.Navigation("Dish_Ingredients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("apo_restaurant.Database.Models.IngredientModel", b =>
|
||||
{
|
||||
b.Navigation("Dish_Ingredients");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
202
apo-restaurant/apo-restaurant/Program.cs
Normal file
202
apo-restaurant/apo-restaurant/Program.cs
Normal file
@ -0,0 +1,202 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
using static apo_restaurant.Constants;
|
||||
using static apo_restaurant.Classes.UI.UserInterface;
|
||||
using static apo_restaurant.API.KitchenAPI;
|
||||
using apo_restaurant.Database.Models;
|
||||
using apo_restaurant.Classes.Cuisine;
|
||||
using apo_restaurant.Classes.Orders;
|
||||
|
||||
namespace apo_restaurant_prototype
|
||||
{
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
InsertTestDataToDB();
|
||||
|
||||
Order order = new Order();
|
||||
|
||||
while(true)
|
||||
{
|
||||
Console.WriteLine("order total price: " + order.OrderElements.Sum(orderElement => orderElement.OrderedDish.Price));
|
||||
int option = OptionsMenu();
|
||||
Console.WriteLine();
|
||||
|
||||
switch (option)
|
||||
{
|
||||
case 0:
|
||||
InformKitchen();
|
||||
break;
|
||||
|
||||
case 1:
|
||||
OrderElement orderElement = MainMenu();
|
||||
|
||||
try
|
||||
{
|
||||
order.AddOrderElement((int)orderElement.OrderedDish.Id, orderElement.Note);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Console.WriteLine("some ingredients necessary to create this dish are missing!");
|
||||
Console.WriteLine("dish cant have been added to the order!");
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
while(true)
|
||||
{
|
||||
int emOption = EditingMenu(order.EditedOrderElement);
|
||||
|
||||
if (emOption == 0)
|
||||
break;
|
||||
|
||||
if (emOption == 1 && order.EditedOrderElement != null)
|
||||
EditingMenu_Edit(order);
|
||||
else if (emOption == 1)
|
||||
Console.WriteLine("no dish is choosen as edited right now!");
|
||||
|
||||
if (emOption == 2 && order.EditedOrderElement != null)
|
||||
{
|
||||
Console.WriteLine("write the new note: ");
|
||||
string note = Console.ReadLine();
|
||||
|
||||
order.EditedOrderElement.Note = note;
|
||||
}
|
||||
else if (emOption == 2)
|
||||
Console.WriteLine("no dish is choosen as edited right now!");
|
||||
|
||||
if (emOption == 3)
|
||||
{
|
||||
if(order.OrderElements.Count() != 0)
|
||||
{
|
||||
int newEditedElementIndex = EditingMenu_Choose(order.OrderElements);
|
||||
|
||||
order.EditedOrderElement = order.OrderElements.ElementAt(newEditedElementIndex - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("no dishes to edit!");
|
||||
}
|
||||
}
|
||||
|
||||
if (emOption == 4)
|
||||
{
|
||||
order.AddOrderElement();
|
||||
|
||||
order.EditedOrderElement = order.OrderElements.Last();
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 3:
|
||||
int removedDishIndex = EditingMenu_Choose(order.OrderElements);
|
||||
order.RemoveOrderElement(removedDishIndex - 1);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
for (int i = 0; i < order.OrderElements.Count(); i++)
|
||||
{
|
||||
Dish dish = order.OrderElements.ElementAt(i).OrderedDish;
|
||||
Console.Write((i + 1) + ") " + dish.Name + "\n | price: " + dish.Price + "\n | ingredients: [ ");
|
||||
dish.Ingredients.ForEach(ingredient => Console.Write(ingredient.Name + ", "));
|
||||
Console.WriteLine("]\n | comment: " + order.OrderElements.ElementAt(i).Note);
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
Console.WriteLine("\nclick enter to quit");
|
||||
|
||||
Console.ReadLine();
|
||||
|
||||
Console.Clear();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void InsertTestDataToDB()
|
||||
{
|
||||
if (DbContext.Dishes.Count() != 0)
|
||||
return;
|
||||
|
||||
Console.WriteLine("inserting test data to DB");
|
||||
|
||||
IngredientModel spaghetti = new IngredientModel()
|
||||
{
|
||||
Quantity = 2,
|
||||
Name = "spaghetti",
|
||||
DefaultPrice = 5.99
|
||||
};
|
||||
IngredientModel shellPasta = new IngredientModel()
|
||||
{
|
||||
Quantity = 4,
|
||||
Name = "shell pasta",
|
||||
DefaultPrice = 4.99
|
||||
};
|
||||
IngredientModel tomatoSauce = new IngredientModel()
|
||||
{
|
||||
Quantity = 3,
|
||||
Name = "tomato sauce",
|
||||
DefaultPrice = 3.99
|
||||
};
|
||||
IngredientModel creamSauce = new IngredientModel()
|
||||
{
|
||||
Quantity = 0,
|
||||
Name = "cream sauce",
|
||||
DefaultPrice = 4.99
|
||||
};
|
||||
IngredientModel pizzaBottom = new IngredientModel()
|
||||
{
|
||||
Quantity = 2,
|
||||
Name = "pizza bottom",
|
||||
DefaultPrice = 19.99
|
||||
};
|
||||
IngredientModel mozzarella = new IngredientModel()
|
||||
{
|
||||
Quantity = 1,
|
||||
Name = "mozzarella",
|
||||
DefaultPrice = 4.99
|
||||
};
|
||||
|
||||
DishModel spaghettiCarbonara =
|
||||
new DishModel
|
||||
{
|
||||
Name = "spaghetti carbonara",
|
||||
Price = 8.99,
|
||||
Dish_Ingredients = null
|
||||
};
|
||||
DishModel pastaNapolitana =
|
||||
new DishModel
|
||||
{
|
||||
Name = "shell pasta napolitana",
|
||||
Price = null,
|
||||
Dish_Ingredients = null
|
||||
};
|
||||
DishModel margherita =
|
||||
new DishModel
|
||||
{
|
||||
Name = "margherita",
|
||||
Price = 19.99,
|
||||
Dish_Ingredients = null
|
||||
};
|
||||
|
||||
DbContext.AddRange(
|
||||
spaghetti,
|
||||
shellPasta,
|
||||
tomatoSauce,
|
||||
creamSauce,
|
||||
pizzaBottom,
|
||||
mozzarella,
|
||||
spaghettiCarbonara,
|
||||
pastaNapolitana,
|
||||
margherita
|
||||
);
|
||||
|
||||
DbContext.SaveChanges();
|
||||
DbContext.UpdateRange();
|
||||
}
|
||||
}
|
||||
}
|
18
apo-restaurant/apo-restaurant/apo-restaurant.csproj
Normal file
18
apo-restaurant/apo-restaurant/apo-restaurant.csproj
Normal file
@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<RootNamespace>apo_restaurant</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.11">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"additionalProbingPaths": [
|
||||
"C:\\Users\\s452711\\.dotnet\\store\\|arch|\\|tfm|",
|
||||
"C:\\Users\\s452711\\.nuget\\packages",
|
||||
"c:\\software\\vs19_s\\NuGetPackages"
|
||||
]
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "netcoreapp3.1",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "3.1.0"
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
|
@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("apo-restaurant")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("apo-restaurant")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("apo-restaurant")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
@ -0,0 +1 @@
|
||||
1a30143c2086a2f8e42e481622556c5579702b12
|
@ -0,0 +1,3 @@
|
||||
is_global = true
|
||||
build_property.RootNamespace = apo_restaurant
|
||||
build_property.ProjectDir = C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
c37af5e6469b67e4d9df09bf3207ef6349b5b7cd
|
@ -0,0 +1,65 @@
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\apo-restaurant.exe
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\apo-restaurant.deps.json
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\apo-restaurant.runtimeconfig.json
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\apo-restaurant.runtimeconfig.dev.json
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\apo-restaurant.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\apo-restaurant.pdb
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Humanizer.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Data.SqlClient.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.Abstractions.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.Design.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.Relational.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.EntityFrameworkCore.SqlServer.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Caching.Abstractions.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Caching.Memory.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Configuration.Abstractions.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.DependencyInjection.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.DependencyInjection.Abstractions.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Logging.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Options.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Extensions.Primitives.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Identity.Client.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.JsonWebTokens.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.Logging.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.Protocols.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.IdentityModel.Tokens.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Microsoft.Win32.SystemEvents.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\Newtonsoft.Json.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.Collections.Immutable.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.ComponentModel.Annotations.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.Configuration.ConfigurationManager.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.Diagnostics.DiagnosticSource.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.Drawing.Common.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.IdentityModel.Tokens.Jwt.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.Runtime.Caching.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.Security.Permissions.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\System.Windows.Extensions.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\unix\lib\netcoreapp3.1\Microsoft.Data.SqlClient.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win\lib\netcoreapp3.1\Microsoft.Data.SqlClient.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win-arm\native\Microsoft.Data.SqlClient.SNI.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win-arm\native\Microsoft.Data.SqlClient.SNI.pdb
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win-arm64\native\Microsoft.Data.SqlClient.SNI.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win-arm64\native\Microsoft.Data.SqlClient.SNI.pdb
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.pdb
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win-x86\native\Microsoft.Data.SqlClient.SNI.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win-x86\native\Microsoft.Data.SqlClient.SNI.pdb
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win\lib\netcoreapp3.0\Microsoft.Win32.SystemEvents.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\unix\lib\netcoreapp3.0\System.Drawing.Common.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win\lib\netcoreapp3.0\System.Drawing.Common.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win\lib\netstandard2.0\System.Runtime.Caching.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win\lib\netstandard2.0\System.Security.Cryptography.ProtectedData.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\bin\Debug\netcoreapp3.1\runtimes\win\lib\netcoreapp3.0\System.Windows.Extensions.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.csproj.AssemblyReference.cache
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.AssemblyInfoInputs.cache
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.AssemblyInfo.cs
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.csproj.CoreCompileInputs.cache
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.csproj.CopyComplete
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.dll
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.pdb
|
||||
C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\obj\Debug\netcoreapp3.1\apo-restaurant.genruntimeconfig.cache
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
ac3a01c0bf85e32591af79cb3381060a9cf3f100
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
|
@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("apo-restaurant")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("apo-restaurant")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("apo-restaurant")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
@ -0,0 +1 @@
|
||||
50cd77202520f8642cfa6a6712f4b3e11f886964
|
@ -0,0 +1,3 @@
|
||||
is_global = true
|
||||
build_property.RootNamespace = apo_restaurant
|
||||
build_property.ProjectDir = C:\Users\s452711\Source\Repos\APO_Restaurant_Project\apo-restaurant\apo-restaurant\
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user