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.
206 lines
6.6 KiB
206 lines
6.6 KiB
using Data.EF.Dice;
|
|
using Data.EF.Dice.Faces;
|
|
using Data.EF.Games;
|
|
using Data.EF.Joins;
|
|
using Data.EF.Players;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Model.Games;
|
|
using System.Linq.Expressions;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
|
|
namespace Data.EF
|
|
{
|
|
public class DiceAppDbContextWithStub : DiceAppDbContext
|
|
{
|
|
// will be async
|
|
public override Task<MasterOfCeremonies> LoadApp() { throw new NotImplementedException(); }
|
|
|
|
public DiceAppDbContextWithStub() { }
|
|
|
|
public DiceAppDbContextWithStub(DbContextOptions<DiceAppDbContext> options)
|
|
: base(options) { }
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
base.OnModelCreating(modelBuilder);
|
|
|
|
Guid playerID_1 = Guid.NewGuid();
|
|
Guid playerID_2 = new("6e856818-92f1-4d7d-b35c-f9c6687ef8e1");
|
|
Guid playerID_3 = Guid.NewGuid();
|
|
Guid playerID_4 = Guid.NewGuid();
|
|
|
|
PlayerEntity player_1 = new() { ID = playerID_1, Name = "Alice" };
|
|
PlayerEntity player_2 = new() { ID = playerID_2, Name = "Bob" };
|
|
PlayerEntity player_3 = new() { ID = playerID_3, Name = "Clyde" };
|
|
PlayerEntity player_4 = new() { ID = playerID_4, Name = "Dahlia" };
|
|
|
|
Guid turnID_1 = Guid.NewGuid();
|
|
Guid turnID_2 = Guid.NewGuid();
|
|
|
|
TurnEntity turn_1 = new()
|
|
{
|
|
ID = turnID_1,
|
|
When = new DateTime(2017, 1, 6, 17, 30, 0, DateTimeKind.Utc),
|
|
PlayerEntityID = playerID_1
|
|
};
|
|
|
|
TurnEntity turn_2 = new()
|
|
{
|
|
ID = turnID_2,
|
|
When = DateTime.UtcNow,
|
|
PlayerEntityID = playerID_2
|
|
};
|
|
|
|
Guid dieID_1 = Guid.NewGuid();
|
|
Guid dieID_2 = Guid.NewGuid();
|
|
Guid dieID_3 = Guid.NewGuid();
|
|
|
|
NumberDieEntity die_1 = new() { ID = dieID_1 };
|
|
ImageDieEntity die_2 = new() { ID = dieID_2 };
|
|
ColorDieEntity die_3 = new() { ID = dieID_3 };
|
|
|
|
Guid faceID_1 = Guid.NewGuid();
|
|
Guid faceID_2 = Guid.NewGuid();
|
|
Guid faceID_3 = Guid.NewGuid();
|
|
Guid faceID_4 = Guid.NewGuid();
|
|
Guid faceID_5 = Guid.NewGuid();
|
|
Guid faceID_6 = Guid.NewGuid();
|
|
|
|
NumberFaceEntity face_1 = new()
|
|
{
|
|
ID = faceID_1,
|
|
Value = 1,
|
|
NumberDieEntityID = dieID_1
|
|
};
|
|
NumberFaceEntity face_2 = new()
|
|
{
|
|
ID = faceID_2,
|
|
Value = 2,
|
|
NumberDieEntityID = dieID_1
|
|
};
|
|
|
|
ImageFaceEntity face_3 = new()
|
|
{
|
|
ID = faceID_3,
|
|
Value = "https://1",
|
|
ImageDieEntityID = dieID_2
|
|
};
|
|
ImageFaceEntity face_4 = new()
|
|
{
|
|
ID = faceID_4,
|
|
Value = "https://2",
|
|
ImageDieEntityID = dieID_2
|
|
};
|
|
|
|
ColorFaceEntity face_5 = new()
|
|
{
|
|
ID = faceID_5,
|
|
A = 255,
|
|
R = 255,
|
|
G = 0,
|
|
B = 0,
|
|
ColorDieEntityID = dieID_3
|
|
};
|
|
ColorFaceEntity face_6 = new()
|
|
{
|
|
ID = faceID_6,
|
|
A = 255,
|
|
R = 0,
|
|
G = 255,
|
|
B = 0,
|
|
ColorDieEntityID = dieID_3
|
|
};
|
|
|
|
modelBuilder.Entity<PlayerEntity>().HasData(player_1, player_2, player_3, player_4);
|
|
|
|
modelBuilder.Entity<TurnEntity>().HasData(turn_1, turn_2);
|
|
|
|
modelBuilder.Entity<NumberDieEntity>().HasData(die_1);
|
|
|
|
modelBuilder.Entity<NumberFaceEntity>().HasData(face_1, face_2);
|
|
|
|
modelBuilder.Entity<ImageDieEntity>().HasData(die_2);
|
|
|
|
modelBuilder.Entity<ImageFaceEntity>().HasData(face_3, face_4);
|
|
|
|
modelBuilder.Entity<ColorDieEntity>().HasData(die_3);
|
|
|
|
modelBuilder.Entity<ColorFaceEntity>().HasData(face_5, face_6);
|
|
|
|
// die 1 die 2 die 3
|
|
// turn 1 : num->2, img->https://2, clr->red
|
|
// turn 2 : num->1, clr->green
|
|
|
|
modelBuilder
|
|
.Entity<TurnEntity>()
|
|
.HasMany(turn => turn.Faces)
|
|
.WithMany(face => face.Turns)
|
|
.UsingEntity<FaceTurn>(
|
|
join => join.HasData(
|
|
new
|
|
{
|
|
TurnEntityID = turnID_1,
|
|
FaceEntityID = faceID_2
|
|
},
|
|
new
|
|
{
|
|
TurnEntityID = turnID_1,
|
|
FaceEntityID = faceID_4
|
|
},
|
|
new
|
|
{
|
|
TurnEntityID = turnID_1,
|
|
FaceEntityID = faceID_5
|
|
},
|
|
|
|
new
|
|
{
|
|
TurnEntityID = turnID_2,
|
|
FaceEntityID = faceID_1
|
|
},
|
|
new
|
|
{
|
|
TurnEntityID = turnID_2,
|
|
FaceEntityID = faceID_6
|
|
}
|
|
)
|
|
);
|
|
|
|
modelBuilder
|
|
.Entity<TurnEntity>()
|
|
.HasMany(turn => turn.Dice)
|
|
.WithMany(die => die.Turns)
|
|
.UsingEntity<DieTurn>(
|
|
join => join.HasData(
|
|
new
|
|
{
|
|
TurnEntityID = turnID_1,
|
|
DieEntityID = dieID_1
|
|
},
|
|
new
|
|
{
|
|
TurnEntityID = turnID_1,
|
|
DieEntityID = dieID_2
|
|
},
|
|
new
|
|
{
|
|
TurnEntityID = turnID_1,
|
|
DieEntityID = dieID_3
|
|
},
|
|
|
|
new
|
|
{
|
|
TurnEntityID = turnID_2,
|
|
DieEntityID = dieID_1
|
|
},
|
|
new
|
|
{
|
|
TurnEntityID = turnID_2,
|
|
DieEntityID = dieID_3
|
|
}
|
|
)
|
|
);
|
|
}
|
|
}
|
|
}
|