summaryrefslogtreecommitdiff
path: root/Models
diff options
context:
space:
mode:
authorSergey Chebotar <s.chebotar@gmail.com>2023-01-31 15:55:44 +0300
committerSergey Chebotar <s.chebotar@gmail.com>2023-01-31 15:55:44 +0300
commita9e52b199b0661b85ca0c7e1318c30742a1168bd (patch)
treeaba504e711ddfa8beaf035af76256a367a6559f8 /Models
parentcdd9f9e98bb5eaf5031ad48a1989853c83fcfed0 (diff)
Database init
Diffstat (limited to 'Models')
-rw-r--r--Models/DataContext.cs21
-rw-r--r--Models/Figure.cs8
-rw-r--r--Models/SeedData.cs56
-rw-r--r--Models/UnderwearBundle.cs11
4 files changed, 96 insertions, 0 deletions
diff --git a/Models/DataContext.cs b/Models/DataContext.cs
new file mode 100644
index 0000000..50adf12
--- /dev/null
+++ b/Models/DataContext.cs
@@ -0,0 +1,21 @@
+using Microsoft.EntityFrameworkCore;
+
+namespace MyDarling.Models
+{
+ public class DataContext : DbContext
+ {
+ protected readonly IConfiguration configuration;
+ public DataContext(IConfiguration configuration)
+ {
+ this.configuration = configuration;
+ }
+
+ protected override void OnConfiguring(DbContextOptionsBuilder opts)
+ {
+ opts.UseSqlite(configuration.GetConnectionString("MyDarlingDb"));
+ }
+
+ public DbSet<UnderwearBundle> UnderwearBundles => Set<UnderwearBundle>();
+ public DbSet<Figure> Figures => Set<Figure>();
+ }
+} \ No newline at end of file
diff --git a/Models/Figure.cs b/Models/Figure.cs
new file mode 100644
index 0000000..7ac5b5f
--- /dev/null
+++ b/Models/Figure.cs
@@ -0,0 +1,8 @@
+namespace MyDarling.Models
+{
+ public class Figure
+ {
+ public int Id { get; set; }
+ public string FilePath { get; set; } = string.Empty;
+ }
+} \ No newline at end of file
diff --git a/Models/SeedData.cs b/Models/SeedData.cs
new file mode 100644
index 0000000..1f0ff76
--- /dev/null
+++ b/Models/SeedData.cs
@@ -0,0 +1,56 @@
+using Microsoft.EntityFrameworkCore;
+namespace MyDarling.Models
+{
+ public static class SeedData
+ {
+ public static void SeedDatabase(DataContext context)
+ {
+ context.Database.Migrate();
+ if (context.UnderwearBundles.Count() == 0)
+ {
+ var alice = new UnderwearBundle
+ {
+ Name = "Alice",
+ Figures = new List<Figure>
+ {
+ new Figure()
+ {
+ FilePath = "/content/0/img/IMG_4896.JPG"
+ },
+ new Figure()
+ {
+ FilePath = "/content/0/img/IMG_4902.JPG"
+ }
+ },
+ Description = @"Комплект из бежевого эластичного кружева с голубой отделкой.
+ В комплект входит бра, 2 трусиков (на высокой посадке и стандартной на регуляции) и чокер.
+ Низ можно сделать на выбор стринги/бразильянки.",
+ Price = 3000
+ };
+
+ var nikki = new UnderwearBundle
+ {
+ Name = "Nikki",
+ Figures = new List<Figure>
+ {
+ new Figure()
+ {
+ FilePath = "/content/1/img/IMG_4897.JPG"
+ },
+ new Figure()
+ {
+ FilePath = "/content/1/img/IMG_4898.JPG"
+ }
+ },
+ Description = @"Базовый сет из мягкой эластичной сетки.
+ В комплект входит лиф на косточках и 2 трусиков – бразильянки на высокой посадке и стринги на стандартной посадке с регуляцией.
+ Доступен в цветах: желтый, черный, бежевый молочный.",
+ Price = 3800
+ };
+
+ context.UnderwearBundles.AddRange(alice, nikki);
+ context.SaveChanges();
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Models/UnderwearBundle.cs b/Models/UnderwearBundle.cs
new file mode 100644
index 0000000..5617b07
--- /dev/null
+++ b/Models/UnderwearBundle.cs
@@ -0,0 +1,11 @@
+namespace MyDarling.Models
+{
+ public class UnderwearBundle
+ {
+ public int Id { get; set; }
+ public string Name { get; set; } = "My Darling Bundle";
+ public ICollection<Figure> Figures { get; set; } = new List<Figure>();
+ public string Description { get; set; } = string.Empty;
+ public decimal Price { get; set; }
+ }
+} \ No newline at end of file