Florian Morel 1 рік тому
батько
коміт
5e05a3242f

+ 3 - 0
Dotnet/DataLayer/DataLayer.csproj

@@ -26,6 +26,9 @@
   </ItemGroup>
 
   <ItemGroup>
+    <None Update="XMLTEST\01 - ldb.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
     <None Update="XML\01 - ldb.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>

+ 38 - 40
Dotnet/DataLayer/DbContextInitializer.cs

@@ -57,11 +57,19 @@ public static class DbContextInitializer
         //string ameliorationFilePath = Path.Combine("XML", "Ameliorations.xml");
         //string extensionFilePath = Path.Combine("XML", "Extensions.xml");
         var roots = new List<Root>();
+        try
+        {
 
-        foreach (var xmlFile in xmlFiles)
+            foreach (var xmlFile in xmlFiles)
+            {
+                var root = XmlHelper.DeserializeXmlFile<Root>(xmlFile);
+                roots.Add(root);
+            }
+        }
+        catch (Exception e)
         {
-            var root = XmlHelper.DeserializeXmlFile<Root>(xmlFile);
-            roots.Add(root);
+
+            throw;
         }
 
         // Deserialize the XML files
@@ -71,148 +79,138 @@ public static class DbContextInitializer
             {
                 if (root.Extensions != null && root.Extensions != null && !context.Extensions.Any())
                 {
-                    context.Extensions.AddRange(root.Extensions.Extension);
+                    context.Extensions.AddRange(root.Extensions);
                 }
 
                 if (root.AccessoiresArmes != null && root.AccessoiresArmes != null && !context.Accessoires.Any())
                 {
-                    context.Accessoires.AddRange(root.AccessoiresArmes.Accessoire);
-                    context.AllAccessoiresArmes.AddRange(root.AccessoiresArmes);
+                    context.Accessoires.AddRange(root.AccessoiresArmes);
                 }
 
                 if (root.Améliorations != null && root.Améliorations != null && !context.Améliorations.Any())
                 {
-                    context.Améliorations.AddRange(root.Améliorations.Amélioration);
-                    context.AllAméliorations.AddRange(root.Améliorations);
+                    context.Améliorations.AddRange(root.Améliorations);
                 }
 
                 if (root.Archétypes != null && root.Archétypes != null && !context.Archétypes.Any())
                 {
-                    context.Archétypes.AddRange(root.Archétypes.Archétype);
-                    context.AllArchétypes.AddRange(root.Archétypes);
+                    context.Archétypes.AddRange(root.Archétypes);
                 }
 
                 if (root.Armes != null && root.Armes != null && !context.Armes.Any())
                 {
-                    context.Armes.AddRange(root.Armes.Arme);
-                    context.AllArmes.Add(root.Armes);
+                    context.Armes.AddRange(root.Armes);
                 }
 
                 if (root.Armures != null && root.Armures != null && !context.Armures.Any())
                 {
-                    context.Armures.AddRange(root.Armures.Armure);
-                    context.AllArmures.Add(root.Armures);
+                    context.Armures.AddRange(root.Armures);
                 }
 
                 if (root.Assermentations != null && root.Assermentations != null && !context.Assermentations.Any())
                 {
-                    context.Assermentations.AddRange(root.Assermentations.Assermentation);
-                    context.AllAssermentations.Add(root.Assermentations);
+                    context.Assermentations.AddRange(root.Assermentations);
                 }
 
                 if (root.AttributsArmes != null && root.AttributsArmes != null && !context.Attributs.Any())
                 {
-                    context.Attributs.AddRange(root.AttributsArmes.Attribut);
-                    context.AllAttributsArmes.Add(root.AttributsArmes);
+                    context.Attributs.AddRange(root.AttributsArmes);
                 }
 
                 if (root.Carrières != null && root.Carrières != null && !context.Carrières.Any())
                 {
-                    context.Carrières.AddRange(root.Carrières.Carrière);
-                    context.AllCarrières.Add(root.Carrières);
+                    context.Carrières.AddRange(root.Carrières);
                 }
 
                 if (root.Competences != null && root.Competences != null && !context.Competences.Any())
                 {
-                    context.Competences.AddRange(root.Competences.Competence);
-                    context.AllCompetences.Add(root.Competences);
+                    context.Competences.AddRange(root.Competences);
                 }
 
                 if (root.Coordonnées != null && root.Coordonnées != null && !context.Coordonnées.Any())
                 {
-                    context.Coordonnées.AddRange(root.Coordonnées.Coordonnée);
-                    context.AllCoordonnées.Add(root.Coordonnées);
+                    context.Coordonnées.AddRange(root.Coordonnées);
                 }
 
                 if (root.Cybernétiques != null && root.Cybernétiques != null && !context.Cybernétiques.Any())
                 {
-                    context.Cybernétiques.AddRange(root.Cybernétiques.Cybernétique);
+                    context.Cybernétiques.AddRange(root.Cybernétiques);
 
                 }
 
                 if (root.Disciplines != null && root.Disciplines != null && !context.Disciplines.Any())
                 {
-                    context.Disciplines.AddRange(root.Disciplines.Discipline);
+                    context.Disciplines.AddRange(root.Disciplines);
                 }
 
                 if (root.Divinations != null && root.Divinations != null && !context.Divinations.Any())
                 {
-                    context.Divinations.AddRange(root.Divinations.Divination);
+                    context.Divinations.AddRange(root.Divinations);
                 }
 
                 if (root.Equipements != null && root.Equipements != null && !context.Equipements.Any())
                 {
-                    context.Equipements.AddRange(root.Equipements.Equipement);
+                    context.Equipements.AddRange(root.Equipements);
                 }
 
                 if (root.Implants != null && root.Implants != null && !context.Implants.Any())
                 {
-                    context.Implants.AddRange(root.Implants.Implant);
+                    context.Implants.AddRange(root.Implants);
                 }
 
                 if (root.Mondes != null && root.Mondes != null && !context.Mondes.Any())
                 {
-                    context.Mondes.AddRange(root.Mondes.Monde);
+                    context.Mondes.AddRange(root.Mondes);
                 }
 
                 if (root.Mutations != null && root.Mutations != null && !context.Mutations.Any())
                 {
-                    context.Mutations.AddRange(root.Mutations.Mutation);
+                    context.Mutations.AddRange(root.Mutations);
                 }
 
                 if (root.Pouvoirs != null && root.Pouvoirs != null && !context.Pouvoirs.Any())
                 {
-                    context.Pouvoirs.AddRange(root.Pouvoirs.Pouvoir);
+                    context.Pouvoirs.AddRange(root.Pouvoirs);
                 }
 
                 if (root.Promotions != null && root.Promotions != null && !context.Promotions.Any())
                 {
-                    context.Promotions.AddRange(root.Promotions.Promotion);
+                    context.Promotions.AddRange(root.Promotions);
                 }
 
                 if (root.SeuilsXp != null && root.SeuilsXp != null && !context.Seuils.Any())
                 {
-                    context.Seuils.AddRange(root.SeuilsXp.Seuil);
+                    context.Seuils.AddRange(root.SeuilsXp);
                 }
 
                 if (root.Sousmondes != null && root.Sousmondes != null && !context.Sousmondes.Any())
                 {
-                    context.Sousmondes.AddRange(root.Sousmondes.Sousmonde);
+                    context.Sousmondes.AddRange(root.Sousmondes);
                 }
 
                 if (root.Talents != null && root.Talents != null && !context.Talents.Any())
                 {
-                    context.Talents.AddRange(root.Talents.Talent);
+                    context.Talents.AddRange(root.Talents);
                 }
 
                 if (root.Traits != null && root.Traits != null && !context.Traits.Any())
                 {
-                    context.Traits.AddRange(root.Traits.Trait);
+                    context.Traits.AddRange(root.Traits);
                 }
 
                 if (root.Troubles != null && root.Troubles != null && !context.Troubles.Any())
                 {
-                    context.Troubles.AddRange(root.Troubles.Trouble);
+                    context.Troubles.AddRange(root.Troubles);
                 }
 
                 if (root.TypeMondes != null && root.TypeMondes != null && !context.TypeMondes.Any())
                 {
-                    context.TypeMondes.AddRange(root.TypeMondes.TypeMonde);
+                    context.TypeMondes.AddRange(root.TypeMondes);
                 }
 
                 if (root.TypesNom != null && root.TypesNom != null && !context.TypesNom.Any())
                 {
-                    context.TypesNom.AddRange(root.TypesNom.TypeNom);
+                    context.TypesNom.AddRange(root.TypesNom);
                 }
             }
         }

+ 155 - 155
Dotnet/DataLayer/DeathwatchDbContext.cs

@@ -38,32 +38,32 @@ public class DeathwatchDbContext : DbContext
     public DbSet<Trouble> Troubles { get; set; }
     public DbSet<TypeMonde> TypeMondes { get; set; }
     public DbSet<TypeName> TypesNom { get; set; }
-    public DbSet<AccessoiresArmes> AllAccessoiresArmes { get; set; }
-    public DbSet<Améliorations> AllAméliorations { get; set; }
-    public DbSet<Archétypes> AllArchétypes { get; set; }
-    public DbSet<Armes> AllArmes { get; set; }
-    public DbSet<Armures> AllArmures { get; set; }
-    public DbSet<Assermentations> AllAssermentations { get; set; }
-    public DbSet<AttributsArmes> AllAttributsArmes { get; set; }
-    public DbSet<Carrières> AllCarrières { get; set; }
-    public DbSet<Competences> AllCompetences { get; set; }
-    public DbSet<Coordonnées> AllCoordonnées { get; set; }
-    public DbSet<Cybernétiques> AllCybernétiques { get; set; }
-    public DbSet<Disciplines> AllDisciplines { get; set; }
-    public DbSet<Divinations> AllDivinations { get; set; }
-    public DbSet<Equipements> AllEquipements { get; set; }
-    public DbSet<Implants> AllImplants { get; set; }
-    public DbSet<Mondes> AllMondes { get; set; }
-    public DbSet<Mutations> AllMutations { get; set; }
-    public DbSet<Pouvoirs> AllPouvoirs { get; set; }
-    public DbSet<Promotions> AllPromotions { get; set; }
-    public DbSet<SeuilsXp> AllSeuilsXp { get; set; }
-    public DbSet<Sousmondes> AllSousmondes { get; set; }
-    public DbSet<Talents> AllTalents { get; set; }
-    public DbSet<Traits> AllTraits { get; set; }
-    public DbSet<Troubles> AllTroubles { get; set; }
-    public DbSet<TypeMondes> AllTypeMondes { get; set; }
-    public DbSet<TypesNom> AllTypesNom { get; set; }
+    //public DbSet<AccessoiresArmes> AllAccessoiresArmes { get; set; }
+    //public DbSet<Améliorations> AllAméliorations { get; set; }
+    //public DbSet<Archétypes> AllArchétypes { get; set; }
+    //public DbSet<Armes> AllArmes { get; set; }
+    //public DbSet<Armures> AllArmures { get; set; }
+    //public DbSet<Assermentations> AllAssermentations { get; set; }
+    //public DbSet<AttributsArmes> AllAttributsArmes { get; set; }
+    //public DbSet<Carrières> AllCarrières { get; set; }
+    //public DbSet<Competences> AllCompetences { get; set; }
+    //public DbSet<Coordonnées> AllCoordonnées { get; set; }
+    //public DbSet<Cybernétiques> AllCybernétiques { get; set; }
+    //public DbSet<Disciplines> AllDisciplines { get; set; }
+    //public DbSet<Divinations> AllDivinations { get; set; }
+    //public DbSet<Equipements> AllEquipements { get; set; }
+    //public DbSet<Implants> AllImplants { get; set; }
+    //public DbSet<Mondes> AllMondes { get; set; }
+    //public DbSet<Mutations> AllMutations { get; set; }
+    //public DbSet<Pouvoirs> AllPouvoirs { get; set; }
+    //public DbSet<Promotions> AllPromotions { get; set; }
+    //public DbSet<SeuilsXp> AllSeuilsXp { get; set; }
+    //public DbSet<Sousmondes> AllSousmondes { get; set; }
+    //public DbSet<Talents> AllTalents { get; set; }
+    //public DbSet<Traits> AllTraits { get; set; }
+    //public DbSet<Troubles> AllTroubles { get; set; }
+    //public DbSet<TypeMondes> AllTypeMondes { get; set; }
+    //public DbSet<TypesNom> AllTypesNom { get; set; }
 
 
     public DeathwatchDbContext() : base()
@@ -129,135 +129,135 @@ public class DeathwatchDbContext : DbContext
         modelBuilder.Entity<TypeMonde>().ToTable("TypeMondes");
         modelBuilder.Entity<TypeName>().ToTable("TypesNom");
 
-        modelBuilder.Entity<AccessoiresArmes>()
-            .HasMany(a => a.Accessoire)
-            .WithOne()
-            .HasForeignKey(x => x.AccessoireId);
-
-        modelBuilder.Entity<Améliorations>()
-            .HasMany(a => a.Amélioration)
-            .WithOne()
-            .HasForeignKey(x => x.AméliorationId);
-
-        modelBuilder.Entity<Archétypes>()
-            .HasMany(a => a.Archétype)
-            .WithOne()
-            .HasForeignKey(x => x.ArchétypeId);
-
-        modelBuilder.Entity<Armes>()
-            .HasMany(a => a.Arme)
-            .WithOne()
-            .HasForeignKey(x => x.ArmeId);
-
-        modelBuilder.Entity<Armures>()
-            .HasMany(a => a.Armure)
-            .WithOne()
-            .HasForeignKey(x => x.ArmureId);
-
-        modelBuilder.Entity<Assermentations>()
-            .HasMany(a => a.Assermentation)
-            .WithOne()
-            .HasForeignKey(x => x.AssermentationId);
-
-        modelBuilder.Entity<AttributsArmes>()
-            .HasMany(a => a.Attribut)
-            .WithOne()
-            .HasForeignKey(x => x.AttributId);
-
-        modelBuilder.Entity<Carrières>()
-            .HasMany(c => c.Carrière)
-            .WithOne()
-            .HasForeignKey(x => x.CarrièreId);
-
-        modelBuilder.Entity<Competences>()
-            .HasMany(c => c.Competence)
-            .WithOne()
-            .HasForeignKey(x => x.CompetenceId);
-
-        modelBuilder.Entity<Coordonnées>()
-            .HasMany(c => c.Coordonnée)
-            .WithOne()
-            .HasForeignKey(x => x.CoordonnéeId);
-
-        modelBuilder.Entity<Cybernétiques>()
-            .HasMany(c => c.Cybernétique)
-            .WithOne()
-            .HasForeignKey(x => x.CybernétiqueId);
-
-        modelBuilder.Entity<Disciplines>()
-            .HasMany(d => d.Discipline)
-            .WithOne()
-            .HasForeignKey(x => x.DisciplineId);
-
-        modelBuilder.Entity<Divinations>()
-            .HasMany(d => d.Divination)
-            .WithOne()
-            .HasForeignKey(x => x.DivinationId);
-
-        modelBuilder.Entity<Equipements>()
-            .HasMany(e => e.Equipement)
-            .WithOne()
-            .HasForeignKey(x => x.EquipementId);
-
-        modelBuilder.Entity<Implants>()
-            .HasMany(i => i.Implant)
-            .WithOne()
-            .HasForeignKey(x => x.ImplantId);
-
-        modelBuilder.Entity<Mondes>()
-            .HasMany(m => m.Monde)
-            .WithOne()
-            .HasForeignKey(x => x.MondeId);
-
-        modelBuilder.Entity<Mutations>()
-            .HasMany(m => m.Mutation)
-            .WithOne()
-            .HasForeignKey(x => x.MutationId);
-
-        modelBuilder.Entity<Pouvoirs>()
-            .HasMany(p => p.Pouvoir)
-            .WithOne()
-            .HasForeignKey(x => x.PouvoirId);
-
-        modelBuilder.Entity<Promotions>()
-            .HasMany(p => p.Promotion)
-            .WithOne()
-            .HasForeignKey(x => x.PromotionId);
-
-        modelBuilder.Entity<SeuilsXp>()
-            .HasMany(s => s.Seuil)
-            .WithOne()
-            .HasForeignKey(x => x.SeuilId);
-
-        modelBuilder.Entity<Sousmondes>()
-            .HasMany(s => s.Sousmonde)
-            .WithOne()
-            .HasForeignKey(x => x.SousmondeId);
-
-        modelBuilder.Entity<Talents>()
-            .HasMany(t => t.Talent)
-            .WithOne()
-            .HasForeignKey(x => x.TalentId);
-
-        modelBuilder.Entity<Traits>()
-            .HasMany(t => t.Trait)
-            .WithOne()
-            .HasForeignKey(x => x.TraitId);
-
-        modelBuilder.Entity<Troubles>()
-            .HasMany(t => t.Trouble)
-            .WithOne()
-            .HasForeignKey(x => x.TroubleId);
-
-        modelBuilder.Entity<TypeMondes>()
-            .HasMany(t => t.TypeMonde)
-            .WithOne()
-            .HasForeignKey(x => x.TypeMondeId);
-
-        modelBuilder.Entity<TypesNom>()
-            .HasMany(t => t.TypeNom)
-            .WithOne()
-            .HasForeignKey(x => x.TypeNomId);
+        //modelBuilder.Entity<AccessoiresArmes>()
+        //    .HasMany(a => a.Accessoire)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.AccessoireId);
+
+        //modelBuilder.Entity<Améliorations>()
+        //    .HasMany(a => a.Amélioration)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.AméliorationId);
+
+        //modelBuilder.Entity<Archétypes>()
+        //    .HasMany(a => a.Archétype)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.ArchétypeId);
+
+        //modelBuilder.Entity<Armes>()
+        //    .HasMany(a => a.Arme)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.ArmeId);
+
+        //modelBuilder.Entity<Armures>()
+        //    .HasMany(a => a.Armure)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.ArmureId);
+
+        //modelBuilder.Entity<Assermentations>()
+        //    .HasMany(a => a.Assermentation)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.AssermentationId);
+
+        //modelBuilder.Entity<AttributsArmes>()
+        //    .HasMany(a => a.Attribut)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.AttributId);
+
+        //modelBuilder.Entity<Carrières>()
+        //    .HasMany(c => c.Carrière)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.CarrièreId);
+
+        //modelBuilder.Entity<Competences>()
+        //    .HasMany(c => c.Competence)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.CompetenceId);
+
+        //modelBuilder.Entity<Coordonnées>()
+        //    .HasMany(c => c.Coordonnée)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.CoordonnéeId);
+
+        //modelBuilder.Entity<Cybernétiques>()
+        //    .HasMany(c => c.Cybernétique)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.CybernétiqueId);
+
+        //modelBuilder.Entity<Disciplines>()
+        //    .HasMany(d => d.Discipline)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.DisciplineId);
+
+        //modelBuilder.Entity<Divinations>()
+        //    .HasMany(d => d.Divination)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.DivinationId);
+
+        //modelBuilder.Entity<Equipements>()
+        //    .HasMany(e => e.Equipement)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.EquipementId);
+
+        //modelBuilder.Entity<Implants>()
+        //    .HasMany(i => i.Implant)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.ImplantId);
+
+        //modelBuilder.Entity<Mondes>()
+        //    .HasMany(m => m.Monde)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.MondeId);
+
+        //modelBuilder.Entity<Mutations>()
+        //    .HasMany(m => m.Mutation)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.MutationId);
+
+        //modelBuilder.Entity<Pouvoirs>()
+        //    .HasMany(p => p.Pouvoir)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.PouvoirId);
+
+        //modelBuilder.Entity<Promotions>()
+        //    .HasMany(p => p.Promotion)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.PromotionId);
+
+        //modelBuilder.Entity<SeuilsXp>()
+        //    .HasMany(s => s.Seuil)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.SeuilId);
+
+        //modelBuilder.Entity<Sousmondes>()
+        //    .HasMany(s => s.Sousmonde)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.SousmondeId);
+
+        //modelBuilder.Entity<Talents>()
+        //    .HasMany(t => t.Talent)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.TalentId);
+
+        //modelBuilder.Entity<Traits>()
+        //    .HasMany(t => t.Trait)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.TraitId);
+
+        //modelBuilder.Entity<Troubles>()
+        //    .HasMany(t => t.Trouble)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.TroubleId);
+
+        //modelBuilder.Entity<TypeMondes>()
+        //    .HasMany(t => t.TypeMonde)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.TypeMondeId);
+
+        //modelBuilder.Entity<TypesNom>()
+        //    .HasMany(t => t.TypeNom)
+        //    .WithOne()
+        //    .HasForeignKey(x => x.TypeNomId);
 
     }
 }

+ 11 - 0
Dotnet/DataLayer/XMLTEST/01 - ldb.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<root>
+  <extensions>
+    <extension id="dh01" nom="livre de base"/>
+  </extensions>
+  <améliorations>
+    <amélioration id="01-amel2431" catégorie="technoprêtre" souscatégorie="magos explorator" promotion="8" type="compétence" nom="expression artistique (musicien)" cout="300" nb_max_ou_rang="1" />
+    <amélioration id="01-amel2432" catégorie="technoprêtre" souscatégorie="magos explorator" promotion="8" type="compétence" nom="marchandage" cout="300" nb_max_ou_rang="2" />
+  </améliorations>
+</root>

+ 3 - 1
Dotnet/Domain/BaseEntity.cs

@@ -5,9 +5,11 @@ namespace Domain;
 
 public class BaseEntity
 {
-    [XmlAttribute("id")]
+    [XmlIgnore]
     [Key] public int Id { get; set; }
 
+    [XmlIgnore]
     public DateTime CreatedDate { get; set; }
+    [XmlIgnore]
     public DateTime ModifiedDate { get; set; }
 }

Різницю між файлами не показано, бо вона завелика
+ 264 - 409
Dotnet/Domain/XML Model/Root.cs


+ 3 - 1
Dotnet/Infrastructure/XMLHelper.cs

@@ -21,8 +21,10 @@ namespace Infrastructure
             }
             catch (Exception ex)
             {
-                return default(T);
+                //return default(T);
             }
+
+            return default(T);
         }
 
     }