diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana.slnx b/DrinksInfo.Ledana/DrinksInfo.Ledana.slnx
new file mode 100644
index 00000000..4f32197c
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Controllers/FavouriteDrinkController.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Controllers/FavouriteDrinkController.cs
new file mode 100644
index 00000000..f10db243
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Controllers/FavouriteDrinkController.cs
@@ -0,0 +1,79 @@
+using DrinksInfo.Ledana.Data;
+using DrinksInfo.Ledana.Models;
+
+namespace DrinksInfo.Ledana.Controllers
+{
+ internal class FavouriteDrinkController
+ {
+ internal static void AddDrinkToFavourites(DrinkDetail favouriteDrink)
+ {
+ try
+ {
+ using var context = new FavouritesDrinkContext();
+ context.FavouriteDrinks.Add(favouriteDrink);
+ context.SaveChanges();
+ }
+ catch(Exception e)
+ {
+ Console.WriteLine("Something went wrong! " + e.Message);
+ }
+ }
+
+ internal static async Task DeleteAllFavourites()
+ {
+ try
+ {
+ using var context = new FavouritesDrinkContext();
+ context.FavouriteDrinks.RemoveRange(context.FavouriteDrinks);
+ await context.SaveChangesAsync();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("Something went wrong! " + e.Message);
+ }
+ }
+
+ internal static void DeleteFavourite(string? drink)
+ {
+ try
+ {
+ using var context = new FavouritesDrinkContext();
+ var drinkToDelete = context.FavouriteDrinks.Where(d => d.idDrink == drink).First();
+ context.FavouriteDrinks.Remove(drinkToDelete);
+ context.SaveChanges();
+ }
+ catch(Exception e)
+ {
+ Console.WriteLine("Something went wrong! " + e.Message);
+ }
+}
+
+ internal static List GetFavouriteDrinks()
+ {
+ try
+ {
+ using var context = new FavouritesDrinkContext();
+ return context.FavouriteDrinks.ToList();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("Something went wrong! " + e.Message);
+ return null;
+ }
+ }
+
+ internal static bool HasDrink(string? drink)
+ {
+ try
+ {
+ using var context = new FavouritesDrinkContext();
+ return context.FavouriteDrinks.Any(d => d.idDrink == drink);
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("Something went wrong! " + e.Message);
+ return false;
+ }
+ }
+ }
+}
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Data/FavouritesDrinkContext.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Data/FavouritesDrinkContext.cs
new file mode 100644
index 00000000..fda1c50d
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Data/FavouritesDrinkContext.cs
@@ -0,0 +1,23 @@
+using DrinksInfo.Ledana.Models;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.Configuration;
+
+namespace DrinksInfo.Ledana.Data
+{
+ internal class FavouritesDrinkContext : DbContext
+ {
+ public DbSet FavouriteDrinks { get; set; }
+
+ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
+ {
+ var config = new ConfigurationBuilder()
+ .SetBasePath(Directory.GetCurrentDirectory())
+ .AddJsonFile("appSettings.json", optional: false, reloadOnChange: true)
+ .Build();
+
+ var connectionString = config.GetConnectionString("FavouriteDrinksDb");
+
+ optionsBuilder.UseSqlServer(connectionString);
+ }
+ }
+}
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/DrinksInfo.Ledana.csproj b/DrinksInfo.Ledana/DrinksInfo.Ledana/DrinksInfo.Ledana.csproj
new file mode 100644
index 00000000..0b3e9718
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/DrinksInfo.Ledana.csproj
@@ -0,0 +1,35 @@
+
+
+
+ Exe
+ net10.0
+ enable
+ enable
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+
+
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506070842_InitialCreate.Designer.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506070842_InitialCreate.Designer.cs
new file mode 100644
index 00000000..d5909805
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506070842_InitialCreate.Designer.cs
@@ -0,0 +1,189 @@
+//
+using DrinksInfo.Ledana.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace DrinksInfo.Ledana.Migrations
+{
+ [DbContext(typeof(FavouritesDrinkContext))]
+ [Migration("20260506070842_InitialCreate")]
+ partial class InitialCreate
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "10.0.0")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("DrinksInfo.Ledana.Models.DrinkDetail", b =>
+ {
+ b.Property("idDrink")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("dateModified")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strAlcoholic")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strCategory")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strCreativeCommonsConfirmed")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrink")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrinkAlternate")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrinkThumb")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strGlass")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIBA")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strImageAttribution")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strImageSource")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient10")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient11")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient12")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient13")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient14")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient15")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient5")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient6")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient7")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient8")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient9")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructions")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsDE")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsES")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsFR")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsIT")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsZHHANS")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsZHHANT")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure10")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure11")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure12")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure13")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure14")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure15")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure5")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure6")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure7")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure8")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure9")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strTags")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strVideo")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("idDrink");
+
+ b.ToTable("FavouriteDrinks");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506070842_InitialCreate.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506070842_InitialCreate.cs
new file mode 100644
index 00000000..c1f96f57
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506070842_InitialCreate.cs
@@ -0,0 +1,82 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace DrinksInfo.Ledana.Migrations
+{
+ ///
+ public partial class InitialCreate : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "FavouriteDrinks",
+ columns: table => new
+ {
+ idDrink = table.Column(type: "nvarchar(450)", nullable: false),
+ strDrink = table.Column(type: "nvarchar(max)", nullable: true),
+ strDrinkAlternate = table.Column(type: "nvarchar(max)", nullable: true),
+ strTags = table.Column(type: "nvarchar(max)", nullable: true),
+ strVideo = table.Column(type: "nvarchar(max)", nullable: true),
+ strCategory = table.Column(type: "nvarchar(max)", nullable: true),
+ strIBA = table.Column(type: "nvarchar(max)", nullable: true),
+ strAlcoholic = table.Column(type: "nvarchar(max)", nullable: true),
+ strGlass = table.Column(type: "nvarchar(max)", nullable: true),
+ strInstructions = table.Column(type: "nvarchar(max)", nullable: true),
+ strInstructionsES = table.Column(type: "nvarchar(max)", nullable: true),
+ strInstructionsDE = table.Column(type: "nvarchar(max)", nullable: true),
+ strInstructionsFR = table.Column(type: "nvarchar(max)", nullable: true),
+ strInstructionsIT = table.Column(type: "nvarchar(max)", nullable: true),
+ strInstructionsZHHANS = table.Column(type: "nvarchar(max)", nullable: true),
+ strInstructionsZHHANT = table.Column(type: "nvarchar(max)", nullable: true),
+ strDrinkThumb = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient1 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient2 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient3 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient4 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient5 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient6 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient7 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient8 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient9 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient10 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient11 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient12 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient13 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient14 = table.Column(type: "nvarchar(max)", nullable: true),
+ strIngredient15 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure1 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure2 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure3 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure4 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure5 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure6 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure7 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure8 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure9 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure10 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure11 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure12 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure13 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure14 = table.Column(type: "nvarchar(max)", nullable: true),
+ strMeasure15 = table.Column(type: "nvarchar(max)", nullable: true),
+ strImageSource = table.Column(type: "nvarchar(max)", nullable: true),
+ strImageAttribution = table.Column(type: "nvarchar(max)", nullable: true),
+ strCreativeCommonsConfirmed = table.Column(type: "nvarchar(max)", nullable: true),
+ dateModified = table.Column(type: "nvarchar(max)", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_FavouriteDrinks", x => x.idDrink);
+ });
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "FavouriteDrinks");
+ }
+ }
+}
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085503_AddViewCount.Designer.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085503_AddViewCount.Designer.cs
new file mode 100644
index 00000000..5b84ad88
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085503_AddViewCount.Designer.cs
@@ -0,0 +1,192 @@
+//
+using DrinksInfo.Ledana.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace DrinksInfo.Ledana.Migrations
+{
+ [DbContext(typeof(FavouritesDrinkContext))]
+ [Migration("20260506085503_AddViewCount")]
+ partial class AddViewCount
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "10.0.0")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("DrinksInfo.Ledana.Models.DrinkDetail", b =>
+ {
+ b.Property("idDrink")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("dateModified")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strAlcoholic")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strCategory")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strCreativeCommonsConfirmed")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrink")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrinkAlternate")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrinkThumb")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strGlass")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIBA")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strImageAttribution")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strImageSource")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient10")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient11")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient12")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient13")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient14")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient15")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient5")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient6")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient7")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient8")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient9")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructions")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsDE")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsES")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsFR")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsIT")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsZHHANS")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsZHHANT")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure10")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure11")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure12")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure13")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure14")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure15")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure5")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure6")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure7")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure8")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure9")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strTags")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strVideo")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("viewCount")
+ .HasColumnType("int");
+
+ b.HasKey("idDrink");
+
+ b.ToTable("FavouriteDrinks");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085503_AddViewCount.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085503_AddViewCount.cs
new file mode 100644
index 00000000..3acbeb55
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085503_AddViewCount.cs
@@ -0,0 +1,29 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace DrinksInfo.Ledana.Migrations
+{
+ ///
+ public partial class AddViewCount : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn(
+ name: "viewCount",
+ table: "FavouriteDrinks",
+ type: "int",
+ nullable: false,
+ defaultValue: 0);
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "viewCount",
+ table: "FavouriteDrinks");
+ }
+ }
+}
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085721_RemovedDeafaultValue.Designer.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085721_RemovedDeafaultValue.Designer.cs
new file mode 100644
index 00000000..a24823e4
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085721_RemovedDeafaultValue.Designer.cs
@@ -0,0 +1,192 @@
+//
+using DrinksInfo.Ledana.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace DrinksInfo.Ledana.Migrations
+{
+ [DbContext(typeof(FavouritesDrinkContext))]
+ [Migration("20260506085721_RemovedDeafaultValue")]
+ partial class RemovedDeafaultValue
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "10.0.0")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("DrinksInfo.Ledana.Models.DrinkDetail", b =>
+ {
+ b.Property("idDrink")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("dateModified")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strAlcoholic")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strCategory")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strCreativeCommonsConfirmed")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrink")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrinkAlternate")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrinkThumb")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strGlass")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIBA")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strImageAttribution")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strImageSource")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient10")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient11")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient12")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient13")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient14")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient15")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient5")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient6")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient7")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient8")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient9")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructions")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsDE")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsES")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsFR")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsIT")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsZHHANS")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsZHHANT")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure10")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure11")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure12")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure13")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure14")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure15")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure5")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure6")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure7")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure8")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure9")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strTags")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strVideo")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("viewCount")
+ .HasColumnType("int");
+
+ b.HasKey("idDrink");
+
+ b.ToTable("FavouriteDrinks");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085721_RemovedDeafaultValue.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085721_RemovedDeafaultValue.cs
new file mode 100644
index 00000000..09a24497
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/20260506085721_RemovedDeafaultValue.cs
@@ -0,0 +1,22 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace DrinksInfo.Ledana.Migrations
+{
+ ///
+ public partial class RemovedDeafaultValue : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+
+ }
+ }
+}
diff --git a/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/FavouritesDrinkContextModelSnapshot.cs b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/FavouritesDrinkContextModelSnapshot.cs
new file mode 100644
index 00000000..9744d400
--- /dev/null
+++ b/DrinksInfo.Ledana/DrinksInfo.Ledana/Migrations/FavouritesDrinkContextModelSnapshot.cs
@@ -0,0 +1,189 @@
+//
+using DrinksInfo.Ledana.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace DrinksInfo.Ledana.Migrations
+{
+ [DbContext(typeof(FavouritesDrinkContext))]
+ partial class FavouritesDrinkContextModelSnapshot : ModelSnapshot
+ {
+ protected override void BuildModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "10.0.0")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("DrinksInfo.Ledana.Models.DrinkDetail", b =>
+ {
+ b.Property("idDrink")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("dateModified")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strAlcoholic")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strCategory")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strCreativeCommonsConfirmed")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrink")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrinkAlternate")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strDrinkThumb")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strGlass")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIBA")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strImageAttribution")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strImageSource")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient10")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient11")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient12")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient13")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient14")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient15")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient5")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient6")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient7")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient8")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strIngredient9")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructions")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsDE")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsES")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsFR")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsIT")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsZHHANS")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strInstructionsZHHANT")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure10")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure11")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure12")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure13")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure14")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure15")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("strMeasure5")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property