You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
145 lines
4.6 KiB
145 lines
4.6 KiB
using Microsoft.EntityFrameworkCore;
|
|
using Shared;
|
|
using System.Reflection.Metadata;
|
|
using System.Security.Claims;
|
|
using System.Xml.Linq;
|
|
|
|
namespace Entities
|
|
{
|
|
public class LolDbContext : DbContext
|
|
{
|
|
public DbSet<SkinEntity> skins { get; set; }
|
|
public DbSet<ChampionEntity> champions { get; set; }
|
|
public DbSet<CharacteristicEntity> characteristics { get; set; }
|
|
public DbSet<SkillEntity> skills { get; set; }
|
|
public DbSet<RuneEntity> runes { get; set; }
|
|
public DbSet<RunePageEntity> runepages { get; set; }
|
|
public DbSet<LargeImageEntity> largeimages { get; set; }
|
|
|
|
|
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
{
|
|
optionsBuilder.UseSqlite($"Data Source=Entities.Champions.db");
|
|
}
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
|
|
modelBuilder.Entity<LargeImageEntity>().Property(e => e.Id).ValueGeneratedOnAdd();
|
|
modelBuilder.Entity<CharacteristicEntity>().HasKey(c => new { c.Name, c.ChampionForeignKey });
|
|
|
|
modelBuilder.Entity<RunePageEntity>().Property(e => e.Id).ValueGeneratedOnAdd();
|
|
modelBuilder.Entity<RunePageEntity>()
|
|
.HasMany(x => x.runes)
|
|
.WithMany(x => x.runepages)
|
|
.UsingEntity<RunePageRuneEntity>();
|
|
|
|
modelBuilder.Entity<ChampionEntity>()
|
|
.HasMany(x => x.runepages)
|
|
.WithMany(x => x.champions);
|
|
|
|
|
|
|
|
|
|
modelBuilder.Entity<LargeImageEntity>().HasData(new List<LargeImageEntity>()
|
|
{
|
|
new()
|
|
{
|
|
Id = Guid.NewGuid(),
|
|
Base64 = "aaa"
|
|
}
|
|
});
|
|
|
|
modelBuilder.Entity<ChampionEntity>().HasData(new List<ChampionEntity>() {
|
|
new()
|
|
{
|
|
Name = "Dave",
|
|
Bio = "Le meilleur Jazzman de France",
|
|
Class = ChampionClass.Fighter,
|
|
|
|
},
|
|
new()
|
|
{
|
|
Name = "Armure",
|
|
Bio = "Solide",
|
|
Class = ChampionClass.Tank,
|
|
}
|
|
});
|
|
|
|
modelBuilder.Entity<CharacteristicEntity>().HasData(new List<CharacteristicEntity>() {
|
|
new()
|
|
{
|
|
Name = "Force",
|
|
Value = 50,
|
|
ChampionForeignKey = "Dave",
|
|
},
|
|
new()
|
|
{
|
|
Name = "Défense",
|
|
Value = 75,
|
|
ChampionForeignKey = "Armure",
|
|
}
|
|
});
|
|
|
|
modelBuilder.Entity<SkinEntity>().HasData(new List<SkinEntity>() {
|
|
new SkinEntity
|
|
{
|
|
Name = "Dave de glace",
|
|
Description = "Enneigé",
|
|
Icon = "aaa",
|
|
ChampionForeignKey = "Dave",
|
|
Price=7.99F
|
|
},
|
|
new SkinEntity
|
|
{
|
|
Name = "Armure Fullspeed",
|
|
Description = "Deja vu",
|
|
Icon = "aaa",
|
|
ChampionForeignKey = "Armure",
|
|
Price=9.99F
|
|
},
|
|
});
|
|
|
|
modelBuilder.Entity<SkillEntity>().HasData(new List<SkillEntity>() {
|
|
new()
|
|
{
|
|
Name = "Boule de feu",
|
|
Description = "Fire!",
|
|
SkillType = SkillType.Basic
|
|
},
|
|
new()
|
|
{
|
|
Name = "White Star",
|
|
Description = "Random damage",
|
|
SkillType = SkillType.Ultimate
|
|
}
|
|
});
|
|
|
|
modelBuilder.Entity<RunePageEntity>().HasData(new List<RunePageEntity>()
|
|
{
|
|
new()
|
|
{
|
|
Id = Guid.NewGuid(),
|
|
Name="Runepage_1"
|
|
}
|
|
});
|
|
|
|
modelBuilder.Entity<RuneEntity>().HasData(new List<RuneEntity>() {
|
|
new()
|
|
{
|
|
Name = "Bullseye",
|
|
Description = "Steady shot",
|
|
RuneFamily = RuneFamily.Precision
|
|
},
|
|
new()
|
|
{
|
|
Name = "Alkatraz",
|
|
Description = "Lock effect",
|
|
RuneFamily = RuneFamily.Domination
|
|
}
|
|
});
|
|
|
|
}
|
|
}
|
|
}
|