diff options
author | Sergey Chebotar <s.chebotar@gmail.com> | 2023-01-31 15:55:44 +0300 |
---|---|---|
committer | Sergey Chebotar <s.chebotar@gmail.com> | 2023-01-31 15:55:44 +0300 |
commit | a9e52b199b0661b85ca0c7e1318c30742a1168bd (patch) | |
tree | aba504e711ddfa8beaf035af76256a367a6559f8 /Models | |
parent | cdd9f9e98bb5eaf5031ad48a1989853c83fcfed0 (diff) |
Database init
Diffstat (limited to 'Models')
-rw-r--r-- | Models/DataContext.cs | 21 | ||||
-rw-r--r-- | Models/Figure.cs | 8 | ||||
-rw-r--r-- | Models/SeedData.cs | 56 | ||||
-rw-r--r-- | Models/UnderwearBundle.cs | 11 |
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 |