Initial Migration

This commit is contained in:
Francesco D'Amico
2025-03-05 17:29:37 +01:00
parent b06e1b27dd
commit 6affee7b8c
14 changed files with 113 additions and 12 deletions
+1
View File
@@ -397,3 +397,4 @@ FodyWeavers.xsd
# JetBrains Rider
*.sln.iml
src/Recruitment.Tool.xml
/Francesco.Recipes.World/Migrations/20250304095839_AddFewNewBackendModels.Designer.cs
@@ -0,0 +1,10 @@
namespace Francesco.Recipes.World.Models.BackendModels.Favorit
{
using Francesco.Recipes.World.Models.BackendModels.Recipe;
public class Favorit
{
public Guid Id { get; set; }
public DateTime CreatedAt { get; set; }
public virtual Recipe Recipe { get; set; } = new();
}
}
@@ -0,0 +1,11 @@
using Francesco.Recipes.World.Models.BackendModels.File;
using Francesco.Recipes.World.Models.BackendModels.Instruction;
using Francesco.Recipes.World.Models.BackendModels.Recipe;
public abstract class MediaFile
{
public Guid Id { get; set; } = Guid.NewGuid();
public string? FileName { get; set; }
public string? MimeType { get; set; }
public byte[]? Data { get; set; }
}
@@ -0,0 +1,9 @@
namespace Francesco.Recipes.World.Models.BackendModels.File
{
using Francesco.Recipes.World.Models.BackendModels.Instruction;
public class MediaFileImageInstruction : MediaFile
{
public virtual Instruction Instruction { get; set; }
}
}
@@ -0,0 +1,9 @@
namespace Francesco.Recipes.World.Models.BackendModels.File
{
using Francesco.Recipes.World.Models.BackendModels.Recipe;
public class MediaFileImageRecipe : MediaFile
{
public virtual Recipe Recipe { get; set; }
}
}
@@ -0,0 +1,8 @@
namespace Francesco.Recipes.World.Models.BackendModels.File
{
using Francesco.Recipes.World.Models.BackendModels.Recipe;
public class MediaFileVideoRecipe : MediaFile
{
public virtual Recipe Recipe { get; set; }
}
}
@@ -1,11 +1,16 @@
namespace Francesco.Recipes.World.Models.BackendModels.Ingredient
{
using Francesco.Recipes.World.Models.BackendModels.IngredientShoppingList;
using Francesco.Recipes.World.Models.BackendModels.RecipeIngredient;
using Francesco.Recipes.World.Models.BackendModels.Unit;
public class Ingredient
{
public Guid Id { get; set; }
public string Name { get; set; }
public virtual Unit Unit { get; set; } = new();
public int Quantity { get; set; }
public virtual ICollection<RecipeIngredient> RecipeIngredients { get; set; } = new List<RecipeIngredient>();
public virtual ICollection<IngredientsShoppingList> IngredientShoppingLists { get; set; } = new List<IngredientsShoppingList>();
public virtual Unit Unit { get; set; } = new();
}
}
@@ -0,0 +1,12 @@
namespace Francesco.Recipes.World.Models.BackendModels.IngredientShoppingList
{
using Francesco.Recipes.World.Models.BackendModels.Ingredient;
using Francesco.Recipes.World.Models.BackendModels.Shoppinglist;
public class IngredientsShoppingList
{
public Guid Id { get; set; }
public ShoppingList Shoppinglist { get; set; } = new();
public Ingredient Ingredient { get; set; } = new();
}
}
@@ -1,5 +1,6 @@
namespace Francesco.Recipes.World.Models.BackendModels.Instruction
{
using Francesco.Recipes.World.Models.BackendModels.File;
using Francesco.Recipes.World.Models.BackendModels.Recipe;
public class Instruction
{
@@ -7,5 +8,6 @@
public string Description { get; set; }
public string Number { get; set; }
public virtual Recipe Recipe { get; set; } = new();
public ICollection<MediaFileImageInstruction> MediaFileImageInstructions { get; set; } = new List<MediaFileImageInstruction>();
}
}
@@ -0,0 +1,12 @@
namespace Francesco.Recipes.World.Models.BackendModels.Recipe
{
public enum Difficulty
{
VeryEasy = 1,
Easy = 2,
Medium = 3,
Hard = 4,
Expert = 5
}
}
@@ -1,5 +1,8 @@
namespace Francesco.Recipes.World.Models.BackendModels.Recipe
{
using Francesco.Recipes.World.Models.BackendModels.Category;
using Francesco.Recipes.World.Models.BackendModels.Favorit;
using Francesco.Recipes.World.Models.BackendModels.File;
using Francesco.Recipes.World.Models.BackendModels.Instruction;
using Francesco.Recipes.World.Models.BackendModels.RecipeIngredient;
@@ -8,11 +11,16 @@
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Difficulty { get; set; }
public Difficulty Difficulty { get; set; }
public int Servings { get; set; }
public TimeSpan PreparationTime { get; set; }
public TimeSpan CookingTime { get; set; }
public virtual ICollection <RecipeIngredient> RecipeIngredients { get; set; } = new List<RecipeIngredient>();
public virtual ICollection <Instruction> Instructions { get; set; } = new List<Instruction>();
public bool IsFavorite { get; set; }
public virtual ICollection<RecipeIngredient> RecipeIngredients { get; set; } = new List<RecipeIngredient>();
public virtual ICollection<Instruction> Instructions { get; set; } = new List<Instruction>();
public virtual ICollection<MediaFileImageRecipe> Images { get; set; } = new List<MediaFileImageRecipe>();
public virtual ICollection<MediaFileVideoRecipe> Videos { get; set; } = new List<MediaFileVideoRecipe>();
public virtual Category Category { get; set; } = new();
public virtual Favorit Favorit { get; set; } = new();
}
}
@@ -5,7 +5,8 @@
public class RecipeIngredient
{
public Guid Id { get; set; }
public virtual Recipe Recipe { get; set; } = new ();
public virtual Ingredient Ingredient { get; set; } = new ();
public Guid RecipeId { get; set; }
public virtual Recipe Recipe { get; set; } = new();
public virtual Ingredient Ingredient { get; set; } = new();
}
}
@@ -0,0 +1,11 @@
using Francesco.Recipes.World.Models.BackendModels.IngredientShoppingList;
namespace Francesco.Recipes.World.Models.BackendModels.Shoppinglist
{
public class ShoppingList
{
public Guid Id { get; set; }
public DateTime CreatedAt { get; set; }
public virtual ICollection<IngredientsShoppingList> IngredientsShoppingLists { get; set; } = new List<IngredientsShoppingList>();
}
}
@@ -1,11 +1,13 @@
namespace Francesco.Recipes.World.Models.BackendModels.Unit
namespace Francesco.Recipes.World.Models.BackendModels.Unit
{
using Francesco.Recipes.World.Models.BackendModels.Ingredient;
public class Unit
{
public Guid Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Ingredient> Recipes { get; set; } = new List<Ingredient>();
}
public Guid Id{ get; set; }
public string Name{ get; set; }
public string Symbol { get; set; }
public virtual ICollection<Ingredient> Ingredients { get; set; } = new List<Ingredient>();
}
}