Browse Source

fix model and init db with the values

Florian Morel 1 year ago
parent
commit
2586a1c108
33 changed files with 1068 additions and 786 deletions
  1. 27 1
      Dotnet/DataLayer/DbContextInitializer.cs
  2. 67 0
      Dotnet/Deathwatch/Pages/Weapon.razor
  3. 20 0
      Dotnet/Deathwatch/Pages/Weapon.razor.cs
  4. 6 1
      Dotnet/Deathwatch/Shared/NavMenu.razor
  5. 34 0
      Dotnet/Domain/XML Model/Accessoire.cs
  6. 40 0
      Dotnet/Domain/XML Model/Amélioration.cs
  7. 68 0
      Dotnet/Domain/XML Model/Archétype.cs
  8. 70 0
      Dotnet/Domain/XML Model/Arme.cs
  9. 52 0
      Dotnet/Domain/XML Model/Armure.cs
  10. 31 0
      Dotnet/Domain/XML Model/Assermentation.cs
  11. 25 0
      Dotnet/Domain/XML Model/Attribut.cs
  12. 28 0
      Dotnet/Domain/XML Model/Carrière.cs
  13. 31 0
      Dotnet/Domain/XML Model/Competence.cs
  14. 34 0
      Dotnet/Domain/XML Model/Coordonnée.cs
  15. 43 0
      Dotnet/Domain/XML Model/Cybernétique.cs
  16. 22 0
      Dotnet/Domain/XML Model/Discipline.cs
  17. 31 0
      Dotnet/Domain/XML Model/Divination.cs
  18. 34 0
      Dotnet/Domain/XML Model/Equipement.cs
  19. 25 0
      Dotnet/Domain/XML Model/Extension.cs
  20. 25 0
      Dotnet/Domain/XML Model/Implant.cs
  21. 31 0
      Dotnet/Domain/XML Model/Monde.cs
  22. 34 0
      Dotnet/Domain/XML Model/Mutation.cs
  23. 40 0
      Dotnet/Domain/XML Model/Pouvoir.cs
  24. 34 0
      Dotnet/Domain/XML Model/Promote.cs
  25. 0 784
      Dotnet/Domain/XML Model/Root.cs
  26. 25 0
      Dotnet/Domain/XML Model/Seuil.cs
  27. 31 0
      Dotnet/Domain/XML Model/Sousmonde.cs
  28. 31 0
      Dotnet/Domain/XML Model/Talent.cs
  29. 28 0
      Dotnet/Domain/XML Model/Trait.cs
  30. 25 0
      Dotnet/Domain/XML Model/Trouble.cs
  31. 43 0
      Dotnet/Domain/XML Model/TypeMonde.cs
  32. 32 0
      Dotnet/Domain/XML Model/TypeName.cs
  33. 1 0
      Dotnet/Infrastructure/XMLHelper.cs

+ 27 - 1
Dotnet/DataLayer/DbContextInitializer.cs

@@ -80,142 +80,168 @@ public static class DbContextInitializer
                 if (root.Extensions != null && root.Extensions != null && !context.Extensions.Any())
                 {
                     context.Extensions.AddRange(root.Extensions);
+                    context.SaveChanges();
                 }
 
                 if (root.AccessoiresArmes != null && root.AccessoiresArmes != null && !context.Accessoires.Any())
                 {
                     context.Accessoires.AddRange(root.AccessoiresArmes);
+                    context.SaveChanges();
                 }
 
                 if (root.Améliorations != null && root.Améliorations != null && !context.Améliorations.Any())
                 {
                     context.Améliorations.AddRange(root.Améliorations);
+                    context.SaveChanges();
                 }
 
                 if (root.Archétypes != null && root.Archétypes != null && !context.Archétypes.Any())
                 {
                     context.Archétypes.AddRange(root.Archétypes);
+                    context.SaveChanges();
                 }
 
                 if (root.Armes != null && root.Armes != null && !context.Armes.Any())
                 {
                     context.Armes.AddRange(root.Armes);
+        context.SaveChanges();
                 }
 
                 if (root.Armures != null && root.Armures != null && !context.Armures.Any())
                 {
                     context.Armures.AddRange(root.Armures);
+        context.SaveChanges();
                 }
 
                 if (root.Assermentations != null && root.Assermentations != null && !context.Assermentations.Any())
                 {
                     context.Assermentations.AddRange(root.Assermentations);
+        context.SaveChanges();
                 }
 
                 if (root.AttributsArmes != null && root.AttributsArmes != null && !context.Attributs.Any())
                 {
                     context.Attributs.AddRange(root.AttributsArmes);
+        context.SaveChanges();
                 }
 
                 if (root.Carrières != null && root.Carrières != null && !context.Carrières.Any())
                 {
                     context.Carrières.AddRange(root.Carrières);
+        context.SaveChanges();
                 }
 
                 if (root.Competences != null && root.Competences != null && !context.Competences.Any())
                 {
                     context.Competences.AddRange(root.Competences);
+        context.SaveChanges();
                 }
 
                 if (root.Coordonnées != null && root.Coordonnées != null && !context.Coordonnées.Any())
                 {
                     context.Coordonnées.AddRange(root.Coordonnées);
+        context.SaveChanges();
                 }
 
                 if (root.Cybernétiques != null && root.Cybernétiques != null && !context.Cybernétiques.Any())
                 {
                     context.Cybernétiques.AddRange(root.Cybernétiques);
 
+        context.SaveChanges();
                 }
 
                 if (root.Disciplines != null && root.Disciplines != null && !context.Disciplines.Any())
                 {
                     context.Disciplines.AddRange(root.Disciplines);
+        context.SaveChanges();
                 }
 
                 if (root.Divinations != null && root.Divinations != null && !context.Divinations.Any())
                 {
                     context.Divinations.AddRange(root.Divinations);
+        context.SaveChanges();
                 }
 
                 if (root.Equipements != null && root.Equipements != null && !context.Equipements.Any())
                 {
                     context.Equipements.AddRange(root.Equipements);
+        context.SaveChanges();
                 }
 
                 if (root.Implants != null && root.Implants != null && !context.Implants.Any())
                 {
                     context.Implants.AddRange(root.Implants);
+        context.SaveChanges();
                 }
 
                 if (root.Mondes != null && root.Mondes != null && !context.Mondes.Any())
                 {
                     context.Mondes.AddRange(root.Mondes);
+        context.SaveChanges();
                 }
 
                 if (root.Mutations != null && root.Mutations != null && !context.Mutations.Any())
                 {
                     context.Mutations.AddRange(root.Mutations);
+        context.SaveChanges();
                 }
 
                 if (root.Pouvoirs != null && root.Pouvoirs != null && !context.Pouvoirs.Any())
                 {
                     context.Pouvoirs.AddRange(root.Pouvoirs);
+        context.SaveChanges();
                 }
 
                 if (root.Promotions != null && root.Promotions != null && !context.Promotions.Any())
                 {
                     context.Promotions.AddRange(root.Promotions);
+        context.SaveChanges();
                 }
 
                 if (root.SeuilsXp != null && root.SeuilsXp != null && !context.Seuils.Any())
                 {
                     context.Seuils.AddRange(root.SeuilsXp);
+        context.SaveChanges();
                 }
 
                 if (root.Sousmondes != null && root.Sousmondes != null && !context.Sousmondes.Any())
                 {
                     context.Sousmondes.AddRange(root.Sousmondes);
+        context.SaveChanges();
                 }
 
                 if (root.Talents != null && root.Talents != null && !context.Talents.Any())
                 {
                     context.Talents.AddRange(root.Talents);
+        context.SaveChanges();
                 }
 
                 if (root.Traits != null && root.Traits != null && !context.Traits.Any())
                 {
                     context.Traits.AddRange(root.Traits);
+        context.SaveChanges();
                 }
 
                 if (root.Troubles != null && root.Troubles != null && !context.Troubles.Any())
                 {
                     context.Troubles.AddRange(root.Troubles);
+        context.SaveChanges();
                 }
 
                 if (root.TypeMondes != null && root.TypeMondes != null && !context.TypeMondes.Any())
                 {
                     context.TypeMondes.AddRange(root.TypeMondes);
+        context.SaveChanges();
                 }
 
                 if (root.TypesNom != null && root.TypesNom != null && !context.TypesNom.Any())
                 {
                     context.TypesNom.AddRange(root.TypesNom);
+        context.SaveChanges();
                 }
             }
         }
 
 
-        context.SaveChanges();
     }
 }

+ 67 - 0
Dotnet/Deathwatch/Pages/Weapon.razor

@@ -0,0 +1,67 @@
+@page "/weapon"
+@attribute [StreamRendering(true)]
+
+<h3>Weapon</h3>
+@if (Weapons == null)
+{
+    <p><em>Loading...</em></p>
+}
+else
+{
+    <table class="table">
+        <thead>
+            <tr>
+                <th>Id</th>
+                <th>Nom</th>
+                <th>Genre</th>
+                <th>Type</th>
+                <th>Groupe</th>
+                <th>Portée</th>
+                <th>Modes</th>
+                <th>Dégâts</th>
+                <th>Type Dégâts</th>
+                <th>Pénétration</th>
+                <th>Autonomie</th>
+                <th>Rechargement</th>
+                <th>Attributs</th>
+                <th>Accessoires</th>
+                <th>Poids</th>
+                <th>Bonus BF</th>
+                <th>Prix</th>
+                <th>Disponibilité</th>
+                <th>Description</th>
+            </tr>
+        </thead>
+        <tbody>
+            @foreach (var weapon in Weapons)
+            {
+                <tr>
+                    <td>@weapon.Id</td>
+                    <td>@weapon.Nom</td>
+                    <td>@weapon.Genre</td>
+                    <td>@weapon.Type</td>
+                    <td>@weapon.Groupe</td>
+                    <td>@weapon.Portée</td>
+                    <td>@weapon.Modes</td>
+                    <td>@weapon.Dégâts</td>
+                    <td>@weapon.TypeDégâts</td>
+                    <td>@weapon.Pénétration</td>
+                    <td>@weapon.Autonomie</td>
+                    <td>@weapon.Rechargement</td>
+                    <td>@weapon.Attributs</td>
+                    <td>@weapon.Accessoires</td>
+                    <td>@weapon.Poids</td>
+                    <td>@weapon.BonusBf</td>
+                    <td>@weapon.Prix</td>
+                    <td>@weapon.Disponibilité</td>
+                    <td>@weapon.Description</td>
+                </tr>
+            }
+        </tbody>
+    </table>
+}
+
+
+@code {
+
+}

+ 20 - 0
Dotnet/Deathwatch/Pages/Weapon.razor.cs

@@ -0,0 +1,20 @@
+using DataLayer.Interfaces;
+using Domain.XML_Model;
+using Microsoft.AspNetCore.Components;
+
+namespace Deathwatch.Pages
+{
+    public partial class Weapon
+    {
+        [Inject]
+        public IAbstractRepository<Arme>? WeaponRepository { get; set; }
+
+        public List<Arme> Weapons { get; set; } = new List<Arme>();
+
+        protected override async Task OnInitializedAsync()
+        {
+            Weapons = (await WeaponRepository?.GetAll()).ToList();
+        }
+
+    }
+}

+ 6 - 1
Dotnet/Deathwatch/Shared/NavMenu.razor

@@ -26,7 +26,12 @@
                 <span class="oi oi-list-rich" aria-hidden="true"></span> Character
             </NavLink>
         </div>
-        
+
+        <div class="nav-item px-3">
+            <NavLink class="nav-link" href="weapon">
+                <span class="oi oi-list-rich" aria-hidden="true"></span> Weapons
+            </NavLink>
+        </div>
     </nav>
 </div>
 

+ 34 - 0
Dotnet/Domain/XML Model/Accessoire.cs

@@ -0,0 +1,34 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "accessoires")]
+    public class Accessoire : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "modif_poids")]
+        public string? ModifPoids { get; set; }
+
+        [XmlAttribute(AttributeName = "prix")]
+        public int Prix { get; set; }
+
+        [XmlAttribute(AttributeName = "disponibilité")]
+        public string? Disponibilité { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int AccessoireId { get; set; }
+    }
+
+
+}

+ 40 - 0
Dotnet/Domain/XML Model/Amélioration.cs

@@ -0,0 +1,40 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "améliorations")]
+    public class Amélioration : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "catégorie")]
+        public string? Catégorie { get; set; }
+
+        [XmlAttribute(AttributeName = "souscatégorie")]
+        public string? Souscatégorie { get; set; }
+
+        [XmlAttribute(AttributeName = "promotion")]
+        public int Promotion { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "cout")]
+        public string Cout { get; set; }
+
+        [XmlAttribute(AttributeName = "nb_max_ou_rang")]
+        public int NbMaxOuRang { get; set; }
+
+        [XmlAttribute(AttributeName = "condition")]
+        public string? Condition { get; set; }
+        [XmlIgnore] public int AméliorationId { get; set; }
+    }
+
+
+}

+ 68 - 0
Dotnet/Domain/XML Model/Archétype.cs

@@ -0,0 +1,68 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "archétypes")]
+    public class Archétype : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "caractéristiques")]
+        public string? Caractéristiques { get; set; }
+
+        [XmlAttribute(AttributeName = "mouvement")]
+        public string? Mouvement { get; set; }
+
+        [XmlAttribute(AttributeName = "blessures")]
+        public int Blessures { get; set; }
+
+        [XmlAttribute(AttributeName = "traits")]
+        public string? Traits { get; set; }
+
+        //[XmlAttribute(AttributeName = "traits")]
+        //public string? TraitsAsText {
+        //    get { return (Traits.HasValue) ? Traits.ToString() : null; }
+        //    set { Traits = !string?.IsNullOrEmpty(value) ? int.Parse(value) : default(int?); }
+        //}
+
+        [XmlAttribute(AttributeName = "competences")]
+        public string? Competences { get; set; }
+
+        [XmlAttribute(AttributeName = "talents")]
+        public string? Talents { get; set; }
+
+        [XmlAttribute(AttributeName = "pouvoirs")]
+        public string? Pouvoirs { get; set; }
+
+        //[XmlAttribute(AttributeName = "pouvoirs")]
+        //public string? PouvoirsAsText
+        //{
+        //    get { return (Pouvoirs.HasValue) ? Pouvoirs.ToString() : null; }
+        //    set { Pouvoirs = !string?.IsNullOrEmpty(value) ? int.Parse(value) : default(int?); }
+        //}
+
+        [XmlAttribute(AttributeName = "armures")]
+        public string? Armures { get; set; }
+
+        [XmlAttribute(AttributeName = "armes")]
+        public string? Armes { get; set; }
+
+        [XmlAttribute(AttributeName = "equipement")]
+        public string? Equipement { get; set; }
+
+        [XmlAttribute(AttributeName = "menace")]
+        public string? Menace { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int ArchétypeId { get; set; }
+    }
+
+
+}

+ 70 - 0
Dotnet/Domain/XML Model/Arme.cs

@@ -0,0 +1,70 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "armes")]
+    public class Arme : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "genre")]
+        public string? Genre { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "groupe")]
+        public string? Groupe { get; set; }
+
+        [XmlAttribute(AttributeName = "portée")]
+        public string Portée { get; set; }
+
+        [XmlAttribute(AttributeName = "modes")]
+        public string? Modes { get; set; }
+
+        [XmlAttribute(AttributeName = "dégâts")]
+        public string? Dégâts { get; set; }
+
+        [XmlAttribute(AttributeName = "type_dégâts")]
+        public string? TypeDégâts { get; set; }
+
+        [XmlAttribute(AttributeName = "pénétration")]
+        public string Pénétration { get; set; }
+
+        [XmlAttribute(AttributeName = "autonomie")]
+        public string Autonomie { get; set; }
+
+        [XmlAttribute(AttributeName = "rechargement")]
+        public string Rechargement { get; set; }
+
+        [XmlAttribute(AttributeName = "attributs")]
+        public string? Attributs { get; set; }
+
+        [XmlAttribute(AttributeName = "accessoires")]
+        public string? Accessoires { get; set; }
+
+        [XmlAttribute(AttributeName = "poids")]
+        public string Poids { get; set; }
+
+        [XmlAttribute(AttributeName = "bonus_bf")]
+        public int BonusBf { get; set; }
+
+        [XmlAttribute(AttributeName = "prix")]
+        public int Prix { get; set; }
+
+        [XmlAttribute(AttributeName = "disponibilité")]
+        public string? Disponibilité { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnore] public int ArmeId { get; set; }
+    }
+
+
+}

+ 52 - 0
Dotnet/Domain/XML Model/Armure.cs

@@ -0,0 +1,52 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "armures")]
+    public class Armure : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "pa_tête")]
+        public int PaTête { get; set; }
+
+        [XmlAttribute(AttributeName = "pa_bras")]
+        public int PaBras { get; set; }
+
+        [XmlAttribute(AttributeName = "pa_corps")]
+        public int PaCorps { get; set; }
+
+        [XmlAttribute(AttributeName = "pa_jambes")]
+        public int PaJambes { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "poids")]
+        public string Poids { get; set; }
+
+        [XmlAttribute(AttributeName = "prix")]
+        public int Prix { get; set; }
+
+        [XmlAttribute(AttributeName = "qualité")]
+        public string? Qualité { get; set; }
+
+        [XmlAttribute(AttributeName = "disponibilité")]
+        public string? Disponibilité { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int ArmureId { get; set; }
+    }
+
+
+}

+ 31 - 0
Dotnet/Domain/XML Model/Assermentation.cs

@@ -0,0 +1,31 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "assermentations")]
+    public class Assermentation : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_min")]
+        public int SeuilMin { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_max")]
+        public int SeuilMax { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int AssermentationId { get; set; }
+    }
+
+
+}

+ 25 - 0
Dotnet/Domain/XML Model/Attribut.cs

@@ -0,0 +1,25 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "attributs_armes")]
+    public class Attribut : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int AttributId { get; set; }
+    }
+
+
+}

+ 28 - 0
Dotnet/Domain/XML Model/Carrière.cs

@@ -0,0 +1,28 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "carrières")]
+    public class Carrière : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "types_mondes_autorisés")]
+        public string? TypesMondesAutorisés { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int CarrièreId { get; set; }
+    }
+
+
+}

+ 31 - 0
Dotnet/Domain/XML Model/Competence.cs

@@ -0,0 +1,31 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "competences")]
+    public class Competence : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "carac")]
+        public string? Carac { get; set; }
+
+        [XmlAttribute(AttributeName = "registre")]
+        public string? Registre { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int CompetenceId { get; set; }
+    }
+
+
+}

+ 34 - 0
Dotnet/Domain/XML Model/Coordonnée.cs

@@ -0,0 +1,34 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "coordonnées")]
+    public class Coordonnée : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "sous_secteur")]
+        public string? SousSecteur { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "coord_x")]
+        public int CoordX { get; set; }
+
+        [XmlAttribute(AttributeName = "coord_y")]
+        public int CoordY { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int CoordonnéeId { get; set; }
+    }
+
+
+}

+ 43 - 0
Dotnet/Domain/XML Model/Cybernétique.cs

@@ -0,0 +1,43 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "cybernétiques")]
+    public class Cybernétique : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "effet_qualité_médiocre")]
+        public string? EffetQualitéMédiocre { get; set; }
+
+        [XmlAttribute(AttributeName = "effet_qualité_moyenne")]
+        public string? EffetQualitéMoyenne { get; set; }
+
+        [XmlAttribute(AttributeName = "effet_qualité_bonne")]
+        public string? EffetQualitéBonne { get; set; }
+
+        [XmlAttribute(AttributeName = "effet_qualité_exceptionnelle")]
+        public string? EffetQualitéExceptionnelle { get; set; }
+
+        [XmlAttribute(AttributeName = "cout")]
+        public string Cout { get; set; }
+
+        [XmlAttribute(AttributeName = "disponibilité")]
+        public string? Disponibilité { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int CybernétiqueId { get; set; }
+    }
+
+
+}

+ 22 - 0
Dotnet/Domain/XML Model/Discipline.cs

@@ -0,0 +1,22 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "disciplines")]
+    public class Discipline : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int DisciplineId { get; set; }
+    }
+
+
+}

+ 31 - 0
Dotnet/Domain/XML Model/Divination.cs

@@ -0,0 +1,31 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "divinations")]
+    public class Divination : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_min")]
+        public int SeuilMin { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_max")]
+        public int SeuilMax { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int DivinationId { get; set; }
+    }
+
+
+}

+ 34 - 0
Dotnet/Domain/XML Model/Equipement.cs

@@ -0,0 +1,34 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "equipements")]
+    public class Equipement : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "poids")]
+        public string Poids { get; set; }
+
+        [XmlAttribute(AttributeName = "prix")]
+        public int Prix { get; set; }
+
+        [XmlAttribute(AttributeName = "disponibilité")]
+        public string? Disponibilité { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string Description { get; set; }
+        [XmlIgnoreAttribute] public int EquipementId { get; set; }
+    }
+
+
+}

+ 25 - 0
Dotnet/Domain/XML Model/Extension.cs

@@ -0,0 +1,25 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    // using System.Xml.Serialization;
+    // XmlSerializer serializer = new XmlSerializer(typeof(Root));
+    // using (StringReader reader = new StringReader(xml))
+    // {
+    //    var test = (Root)serializer.Deserialize(reader);
+    // }
+
+    [Serializable]
+    [XmlRoot(ElementName = "extensions")]
+    public class Extension : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+    }
+
+
+}

+ 25 - 0
Dotnet/Domain/XML Model/Implant.cs

@@ -0,0 +1,25 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "implants")]
+    public class Implant : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int ImplantId { get; set; }
+    }
+
+
+}

+ 31 - 0
Dotnet/Domain/XML Model/Monde.cs

@@ -0,0 +1,31 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "mondes")]
+    public class Monde : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "destin")]
+        public string? Destin { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int MondeId { get; set; }
+    }
+
+
+}

+ 34 - 0
Dotnet/Domain/XML Model/Mutation.cs

@@ -0,0 +1,34 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "mutations")]
+    public class Mutation : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "type")]
+        public string? Type { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_min")]
+        public int SeuilMin { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_max")]
+        public int SeuilMax { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int MutationId { get; set; }
+    }
+
+
+}

+ 40 - 0
Dotnet/Domain/XML Model/Pouvoir.cs

@@ -0,0 +1,40 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "pouvoirs")]
+    public class Pouvoir : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "discipline")]
+        public string? Discipline { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil")]
+        public int Seuil { get; set; }
+
+        [XmlAttribute(AttributeName = "action")]
+        public string? Action { get; set; }
+
+        [XmlAttribute(AttributeName = "opposé")]
+        public bool Opposé { get; set; }
+
+        [XmlAttribute(AttributeName = "portée")]
+        public string? Portée { get; set; }
+
+        [XmlAttribute(AttributeName = "prolongeable")]
+        public bool Prolongeable { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int PouvoirId { get; set; }
+    }
+
+
+}

+ 34 - 0
Dotnet/Domain/XML Model/Promote.cs

@@ -0,0 +1,34 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "promotions")]
+    public class Promote : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "promotion")]
+        public int Promotion { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "condition")]
+        public string? Condition { get; set; }
+
+        [XmlAttribute(AttributeName = "alternative")]
+        public bool Alternative { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int PromotionId { get; set; }
+    }
+
+
+}

+ 0 - 784
Dotnet/Domain/XML Model/Root.cs

@@ -6,790 +6,6 @@ using System.Xml.Serialization;
 
 namespace Domain.XML_Model
 {
-    // using System.Xml.Serialization;
-    // XmlSerializer serializer = new XmlSerializer(typeof(Root));
-    // using (StringReader reader = new StringReader(xml))
-    // {
-    //    var test = (Root)serializer.Deserialize(reader);
-    // }
-
-    [Serializable]
-    //[XmlRoot(ElementName = "extensions")]
-    public class Extension : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "accessoires")]
-    public class Accessoire : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "modif_poids")]
-        public string? ModifPoids { get; set; }
-
-        [XmlAttribute(AttributeName = "prix")]
-        public int Prix { get; set; }
-
-        [XmlAttribute(AttributeName = "disponibilité")]
-        public string? Disponibilité { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int AccessoireId { get; set; }
-    }
-
-    [Serializable]
-    //[XmlRoot(ElementName = "améliorations")]
-    public class Amélioration : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "catégorie")]
-        public string? Catégorie { get; set; }
-
-        [XmlAttribute(AttributeName = "souscatégorie")]
-        public string? Souscatégorie { get; set; }
-
-        [XmlAttribute(AttributeName = "promotion")]
-        public int Promotion { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "cout")]
-        public int Cout { get; set; }
-
-        [XmlAttribute(AttributeName = "nb_max_ou_rang")]
-        public int NbMaxOuRang { get; set; }
-
-        [XmlAttribute(AttributeName = "condition")]
-        public string? Condition { get; set; }
-        [XmlIgnore] public int AméliorationId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "archétypes")]
-    public class Archétype : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "caractéristiques")]
-        public string? Caractéristiques { get; set; }
-
-        [XmlAttribute(AttributeName = "mouvement")]
-        public string? Mouvement { get; set; }
-
-        [XmlAttribute(AttributeName = "blessures")]
-        public int Blessures { get; set; }
-
-        [XmlAttribute(AttributeName = "traits")]
-        public string? Traits { get; set; }
-
-        //[XmlAttribute(AttributeName = "traits")]
-        //public string? TraitsAsText {
-        //    get { return (Traits.HasValue) ? Traits.ToString() : null; }
-        //    set { Traits = !string?.IsNullOrEmpty(value) ? int.Parse(value) : default(int?); }
-        //}
-
-        [XmlAttribute(AttributeName = "competences")]
-        public string? Competences { get; set; }
-
-        [XmlAttribute(AttributeName = "talents")]
-        public string? Talents { get; set; }
-
-        [XmlAttribute(AttributeName = "pouvoirs")]
-        public string? Pouvoirs { get; set; }
-
-        //[XmlAttribute(AttributeName = "pouvoirs")]
-        //public string? PouvoirsAsText
-        //{
-        //    get { return (Pouvoirs.HasValue) ? Pouvoirs.ToString() : null; }
-        //    set { Pouvoirs = !string?.IsNullOrEmpty(value) ? int.Parse(value) : default(int?); }
-        //}
-
-        [XmlAttribute(AttributeName = "armures")]
-        public string? Armures { get; set; }
-
-        [XmlAttribute(AttributeName = "armes")]
-        public string? Armes { get; set; }
-
-        [XmlAttribute(AttributeName = "equipement")]
-        public string? Equipement { get; set; }
-
-        [XmlAttribute(AttributeName = "menace")]
-        public string? Menace { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int ArchétypeId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "armes")]
-    public class Arme : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "genre")]
-        public string? Genre { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "groupe")]
-        public string? Groupe { get; set; }
-
-        [XmlAttribute(AttributeName = "portée")]
-        public int Portée { get; set; }
-
-        [XmlAttribute(AttributeName = "modes")]
-        public string? Modes { get; set; }
-
-        [XmlAttribute(AttributeName = "dégâts")]
-        public string? Dégâts { get; set; }
-
-        [XmlAttribute(AttributeName = "type_dégâts")]
-        public string? TypeDégâts { get; set; }
-
-        [XmlAttribute(AttributeName = "pénétration")]
-        public int Pénétration { get; set; }
-
-        [XmlAttribute(AttributeName = "autonomie")]
-        public int Autonomie { get; set; }
-
-        [XmlAttribute(AttributeName = "rechargement")]
-        public int Rechargement { get; set; }
-
-        [XmlAttribute(AttributeName = "attributs")]
-        public string? Attributs { get; set; }
-
-        [XmlAttribute(AttributeName = "accessoires")]
-        public string? Accessoires { get; set; }
-
-        [XmlAttribute(AttributeName = "poids")]
-        public int Poids { get; set; }
-
-        [XmlAttribute(AttributeName = "bonus_bf")]
-        public int BonusBf { get; set; }
-
-        [XmlAttribute(AttributeName = "prix")]
-        public int Prix { get; set; }
-
-        [XmlAttribute(AttributeName = "disponibilité")]
-        public string? Disponibilité { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int ArmeId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "armures")]
-    public class Armure : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "pa_tête")]
-        public int PaTête { get; set; }
-
-        [XmlAttribute(AttributeName = "pa_bras")]
-        public int PaBras { get; set; }
-
-        [XmlAttribute(AttributeName = "pa_corps")]
-        public int PaCorps { get; set; }
-
-        [XmlAttribute(AttributeName = "pa_jambes")]
-        public int PaJambes { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "poids")]
-        public int Poids { get; set; }
-
-        [XmlAttribute(AttributeName = "prix")]
-        public int Prix { get; set; }
-
-        [XmlAttribute(AttributeName = "qualité")]
-        public string? Qualité { get; set; }
-
-        [XmlAttribute(AttributeName = "disponibilité")]
-        public string? Disponibilité { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int ArmureId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "assermentations")]
-    public class Assermentation : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_min")]
-        public int SeuilMin { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_max")]
-        public int SeuilMax { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int AssermentationId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "attributs_armes")]
-    public class Attribut : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int AttributId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "carrières")]
-    public class Carrière : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "types_mondes_autorisés")]
-        public string? TypesMondesAutorisés { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int CarrièreId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "competences")]
-    public class Competence : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "carac")]
-        public string? Carac { get; set; }
-
-        [XmlAttribute(AttributeName = "registre")]
-        public string? Registre { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int CompetenceId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "coordonnées")]
-    public class Coordonnée : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "sous_secteur")]
-        public string? SousSecteur { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "coord_x")]
-        public int CoordX { get; set; }
-
-        [XmlAttribute(AttributeName = "coord_y")]
-        public int CoordY { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int CoordonnéeId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "cybernétiques")]
-    public class Cybernétique : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "effet_qualité_médiocre")]
-        public string? EffetQualitéMédiocre { get; set; }
-
-        [XmlAttribute(AttributeName = "effet_qualité_moyenne")]
-        public string? EffetQualitéMoyenne { get; set; }
-
-        [XmlAttribute(AttributeName = "effet_qualité_bonne")]
-        public string? EffetQualitéBonne { get; set; }
-
-        [XmlAttribute(AttributeName = "effet_qualité_exceptionnelle")]
-        public string? EffetQualitéExceptionnelle { get; set; }
-
-        [XmlAttribute(AttributeName = "cout")]
-        public int Cout { get; set; }
-
-        [XmlAttribute(AttributeName = "disponibilité")]
-        public string? Disponibilité { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int CybernétiqueId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "disciplines")]
-    public class Discipline : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int DisciplineId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "divination")]
-    public class Divination : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_min")]
-        public int SeuilMin { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_max")]
-        public int SeuilMax { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int DivinationId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "equipements")]
-    public class Equipement : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "poids")]
-        public double Poids { get; set; }
-
-        [XmlAttribute(AttributeName = "prix")]
-        public int Prix { get; set; }
-
-        [XmlAttribute(AttributeName = "disponibilité")]
-        public string? Disponibilité { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public int Description { get; set; }
-        [XmlIgnoreAttribute] public int EquipementId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "implants")]
-    public class Implant : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int ImplantId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "mondes")]
-    public class Monde : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "destin")]
-        public string? Destin { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int MondeId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "mutation")]
-    public class Mutation : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "type")]
-        public string? Type { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_min")]
-        public int SeuilMin { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_max")]
-        public int SeuilMax { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int MutationId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "pouvoir")]
-    public class Pouvoir : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "discipline")]
-        public string? Discipline { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil")]
-        public int Seuil { get; set; }
-
-        [XmlAttribute(AttributeName = "action")]
-        public string? Action { get; set; }
-
-        [XmlAttribute(AttributeName = "opposé")]
-        public bool Opposé { get; set; }
-
-        [XmlAttribute(AttributeName = "portée")]
-        public string? Portée { get; set; }
-
-        [XmlAttribute(AttributeName = "prolongeable")]
-        public bool Prolongeable { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int PouvoirId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "promotion")]
-    public class Promote : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "promotion")]
-        public int Promotion { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "condition")]
-        public string? Condition { get; set; }
-
-        [XmlAttribute(AttributeName = "alternative")]
-        public bool Alternative { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int PromotionId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "seuil")]
-    public class Seuil : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "rang")]
-        public int Rang { get; set; }
-
-        [XmlAttribute(AttributeName = "valeur_min")]
-        public int ValeurMin { get; set; }
-
-        [XmlAttribute(AttributeName = "valeur_max")]
-        public int ValeurMax { get; set; }
-        [XmlIgnoreAttribute] public int SeuilId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "sousmonde")]
-    public class Sousmonde : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "type_monde")]
-        public string? TypeMonde { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_min")]
-        public int SeuilMin { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_max")]
-        public int SeuilMax { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int SousmondeId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "talent")]
-    public class Talent : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "multiple")]
-        public bool Multiple { get; set; }
-
-        [XmlAttribute(AttributeName = "condition")]
-        public string? Condition { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int TalentId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "trait")]
-    public class Trait : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "multiple")]
-        public bool Multiple { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int TraitId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "trouble")]
-    public class Trouble : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "effet")]
-        public string? Effet { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int TroubleId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "type_monde")]
-    public class TypeMonde : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "texte_section")]
-        public string? TexteSection { get; set; }
-
-        [XmlAttribute(AttributeName = "age")]
-        public string? Age { get; set; }
-
-        [XmlAttribute(AttributeName = "cheveux")]
-        public string? Cheveux { get; set; }
-
-        [XmlAttribute(AttributeName = "corpulence")]
-        public string? Corpulence { get; set; }
-
-        [XmlAttribute(AttributeName = "particularités_physiques")]
-        public string? ParticularitésPhysiques { get; set; }
-
-        [XmlAttribute(AttributeName = "peau")]
-        public string? Peau { get; set; }
-
-        [XmlAttribute(AttributeName = "yeux")]
-        public string? Yeux { get; set; }
-
-        [XmlAttribute(AttributeName = "description")]
-        public string? Description { get; set; }
-        [XmlIgnoreAttribute] public int TypeMondeId { get; set; }
-    }
-
-    [Serializable]
-    [XmlRoot(ElementName = "type_nom")]
-    public class TypeName : BaseEntity
-    {
-
-        [XmlAttribute(AttributeName = "id")]
-        public string Id { get; set; }
-
-        [XmlAttribute(AttributeName = "nom")]
-        public string? Nom { get; set; }
-
-        [XmlAttribute(AttributeName = "type_nom")]
-        public string? TypeNom { get; set; }
-
-        [XmlAttribute(AttributeName = "genre")]
-        public string? Genre { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_min")]
-        public int SeuilMin { get; set; }
-
-        [XmlAttribute(AttributeName = "seuil_max")]
-        public int SeuilMax { get; set; }
-        [XmlIgnoreAttribute]
-        public int TypeNomId { get; set; }
-    }
 
     [Serializable]
     [XmlRoot(ElementName = "root")]

+ 25 - 0
Dotnet/Domain/XML Model/Seuil.cs

@@ -0,0 +1,25 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "seuils")]
+    public class Seuil : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "rang")]
+        public int Rang { get; set; }
+
+        [XmlAttribute(AttributeName = "valeur_min")]
+        public int ValeurMin { get; set; }
+
+        [XmlAttribute(AttributeName = "valeur_max")]
+        public int ValeurMax { get; set; }
+        [XmlIgnoreAttribute] public int SeuilId { get; set; }
+    }
+
+
+}

+ 31 - 0
Dotnet/Domain/XML Model/Sousmonde.cs

@@ -0,0 +1,31 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "sousmondes")]
+    public class Sousmonde : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "type_monde")]
+        public string? TypeMonde { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_min")]
+        public int SeuilMin { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_max")]
+        public int SeuilMax { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int SousmondeId { get; set; }
+    }
+
+
+}

+ 31 - 0
Dotnet/Domain/XML Model/Talent.cs

@@ -0,0 +1,31 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "talents")]
+    public class Talent : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "multiple")]
+        public bool Multiple { get; set; }
+
+        [XmlAttribute(AttributeName = "condition")]
+        public string? Condition { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int TalentId { get; set; }
+    }
+
+
+}

+ 28 - 0
Dotnet/Domain/XML Model/Trait.cs

@@ -0,0 +1,28 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "traits")]
+    public class Trait : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "multiple")]
+        public bool Multiple { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int TraitId { get; set; }
+    }
+
+
+}

+ 25 - 0
Dotnet/Domain/XML Model/Trouble.cs

@@ -0,0 +1,25 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "troubles")]
+    public class Trouble : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "effet")]
+        public string? Effet { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int TroubleId { get; set; }
+    }
+
+
+}

+ 43 - 0
Dotnet/Domain/XML Model/TypeMonde.cs

@@ -0,0 +1,43 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "type_mondes")]
+    public class TypeMonde : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "texte_section")]
+        public string? TexteSection { get; set; }
+
+        [XmlAttribute(AttributeName = "age")]
+        public string? Age { get; set; }
+
+        [XmlAttribute(AttributeName = "cheveux")]
+        public string? Cheveux { get; set; }
+
+        [XmlAttribute(AttributeName = "corpulence")]
+        public string? Corpulence { get; set; }
+
+        [XmlAttribute(AttributeName = "particularités_physiques")]
+        public string? ParticularitésPhysiques { get; set; }
+
+        [XmlAttribute(AttributeName = "peau")]
+        public string? Peau { get; set; }
+
+        [XmlAttribute(AttributeName = "yeux")]
+        public string? Yeux { get; set; }
+
+        [XmlAttribute(AttributeName = "description")]
+        public string? Description { get; set; }
+        [XmlIgnoreAttribute] public int TypeMondeId { get; set; }
+    }
+
+
+}

+ 32 - 0
Dotnet/Domain/XML Model/TypeName.cs

@@ -0,0 +1,32 @@
+using System.Xml.Serialization;
+
+namespace Domain.XML_Model
+{
+    [Serializable]
+    [XmlRoot(ElementName = "type_noms")]
+    public class TypeName : BaseEntity
+    {
+
+        [XmlAttribute(AttributeName = "id")]
+        public string Id { get; set; }
+
+        [XmlAttribute(AttributeName = "nom")]
+        public string? Nom { get; set; }
+
+        [XmlAttribute(AttributeName = "type_nom")]
+        public string? TypeNom { get; set; }
+
+        [XmlAttribute(AttributeName = "genre")]
+        public string? Genre { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_min")]
+        public int SeuilMin { get; set; }
+
+        [XmlAttribute(AttributeName = "seuil_max")]
+        public int SeuilMax { get; set; }
+        [XmlIgnoreAttribute]
+        public int TypeNomId { get; set; }
+    }
+
+
+}

+ 1 - 0
Dotnet/Infrastructure/XMLHelper.cs

@@ -21,6 +21,7 @@ namespace Infrastructure
             }
             catch (Exception ex)
             {
+                throw new Exception($"Error deserializing XML file: {ex.Message}");
                 //return default(T);
             }