private void GenererJeuTestOuvrage()
        {
            string MonSuffixe = " " + OuvrageSuffixe01;

            // Création d'un ensemble électrique
            EnsembleElectrique EnsElecToAdd = new EnsembleElectrique()
                {
                    Libelle = "GOP - EnsElecTest" + MonSuffixe,
                    EnumPeriodiciteNullable = 27
                };

            // Ajout de l'ensemble électrique au service
            ServiceEnsElectrique.Add(EnsElecToAdd);

            // Création de 2 portions intégrités
            PortionIntegrite PIToAdd01 = new PortionIntegrite()
                {
                    Code = "TestPI01",
                    DateMiseEnService = DateTime.Now,
                    Libelle = "GOP - Portion01Test" + MonSuffixe,
                    CleDiametre = 21,
                    CleRevetement = 14,
                    DateMajCommentaire = DateTime.Now
                };
            PortionIntegrite PIToAdd02 = new PortionIntegrite()
                {
                    Code = "TestPI02",
                    DateMiseEnService = DateTime.Now,
                    DateMajCommentaire = DateTime.Now,
                    Libelle = "GOP - Portion02Test" + MonSuffixe,
                    CleDiametre = 21,
                    CleRevetement = 14
                };

            EnsElecToAdd.PortionIntegrite.Add(PIToAdd01);
            EnsElecToAdd.PortionIntegrite.Add(PIToAdd02);

            // Ajout d'un secteur sur chaque portion
            PiSecteurs PISToPortion01 = new PiSecteurs()
                {
                    CleSecteur = 55
                };

            PiSecteurs PISToPortion02 = new PiSecteurs()
                {
                    CleSecteur = 56
                };

            PIToAdd01.PiSecteurs.Add(PISToPortion01);
            PIToAdd02.PiSecteurs.Add(PISToPortion02);

            // Création d'une PP par portions
            Pp PpToPortion01 = new Pp()
                {
                    Libelle = "GOP - PP01Test" + MonSuffixe,
                    CleNiveauSensibilite = 6,
                    CleCategoriePp = 21,
                    PkNullable = 1,
                    CleSecteur = 55,
                    CleCommune = 21488,
                    CleUtilisateur = 1745,
                    DateMajPp = DateTime.Now
                };
            Pp PpToPortion02 = new Pp()
                {
                    Libelle = "GOP - PP02Test" + MonSuffixe,
                    CleNiveauSensibilite = 6,
                    CleCategoriePp = 21,
                    PkNullable = 1,
                    CleSecteur = 56,
                    CleCommune = 21488,
                    CleUtilisateur = 1745,
                    DateMajPp = DateTime.Now
                };

            PIToAdd01.Pps.Add(PpToPortion01);
            PIToAdd02.Pps.Add(PpToPortion02);

            // Création d'un équipement de chaque type pour chaque PP
            EqSoutirage MonSOToPp01 = new EqSoutirage()
                {
                    Libelle = "GOP - Sourtirage01Test" + MonSuffixe,
                    CleRedresseur = 265,
                    CleDeversoir = 240,
                    DateMiseEnServiceRedresseurNullable = DateTime.Now,
                    TensionReglageNullable = 5,
                    IntensiteReglageNullable = 10,
                    DateControleNullable = DateTime.Now,
                    LongueurDeversoirNullable = 10,
                    CleTypeEq = 2,
                    DateMajEquipement = DateTime.Now
                };
            EqLiaisonExterne MaLEToPp01 = new EqLiaisonExterne()
                {
                    Libelle = "GOP - LiaisonExterne01Test" + MonSuffixe,
                    CleNomTiersAss = 185,
                    TypeFluide = "GAZ",
                    CleTypeLiaison = 21,
                    CleTypeEq = 5,
                    DateMajEquipement = DateTime.Now
                };
            EqDrainage MonDRToPp01 = new EqDrainage()
                {
                    Libelle = "GOP - Drainage01Test" + MonSuffixe,
                    CleTypeDrainage = 246,
                    CleTypeEq = 3,
                    IntensiteMaximaleSupporteeNullable = 12,
                    DateMajEquipement = DateTime.Now
                };
            EqPostegaz MonPGToPp01 = new EqPostegaz()
            {
                Libelle = "GOP - PosteGaz01Test" + MonSuffixe,
                TypePoste = "DP",
                CleTypeEq = 8,
                DateMajEquipement = DateTime.Now
            };
            EqFourreauMetallique MonFMToPp01 = new EqFourreauMetallique()
            {
                Libelle = "GOP - FourreauMetallique01Test" + MonSuffixe,
                CleTypeEq = 7,
                DateMajEquipement = DateTime.Now,
                LongueurNullable = 1
            };
            EqAnodeGalvanique MonAGToPp01 = new EqAnodeGalvanique()
            {
                Libelle = "GOP - AnodeGalvanique01Test" + MonSuffixe,
                CleTypeAnode = 233,
                CleTypeEq = 9,
                DateMajEquipement = DateTime.Now
            };
            EqLiaisonInterne MaLIToPp01 = new EqLiaisonInterne()
            {
                Libelle = "GOP - LiaisonInterbe01Test" + MonSuffixe,
                CleTypeLiaison = 21,
                CleTypeEq = 4,
                DateMajEquipement = DateTime.Now
            };
            MaLIToPp01.Pp2 = PpToPortion02;
            EqRaccordIsolant MonRIToPp01 = new EqRaccordIsolant()
            {
                Libelle = "GOP - RaccordIsolant01Test" + MonSuffixe,
                CleTypeRi = 260,
                EnumEtatElect = 11,
                EnumConfigElectNormale = 16,
                CleTypeLiaison = 251,
                CleTypeEq = 11,
                DateMajEquipement = DateTime.Now
            };
            EqPile MaPIToPp01 = new EqPile()
            {
                Libelle = "GOP - Pile01Test" + MonSuffixe,
                CleCaracteristiquePile = 22,
                CleTypeDeversoir = 235,
                CleTypeEq = 12,
                DateMajEquipement = DateTime.Now
            };
            EqTiersCroiseSansLiaison MaTCToPp01 = new EqTiersCroiseSansLiaison()
            {
                Libelle = "GOP - TiersCroisé01Test" + MonSuffixe,
                CleTypeEq = 6,
                DateMajEquipement = DateTime.Now
            };
            EqDispoEcoulementCourantsAlternatifs MonDEToPp01 = new EqDispoEcoulementCourantsAlternatifs()
            {
                Libelle = "GOP - DispEcoulement01Test" + MonSuffixe,
                CapaciteCondensateurNullable = 16000,
                CleTypePriseDeTerre = 257,
                CleTypeEq = 10,
                DateMajEquipement = DateTime.Now
            };

            PpToPortion01.EqEquipement.Add(MonSOToPp01);
            PpToPortion01.EqEquipement.Add(MaLEToPp01);
            PpToPortion01.EqEquipement.Add(MonDRToPp01);
            PpToPortion01.EqEquipement.Add(MonPGToPp01);
            PpToPortion01.EqEquipement.Add(MonFMToPp01);
            PpToPortion01.EqEquipement.Add(MonAGToPp01);
            PpToPortion01.EqEquipement.Add(MaLIToPp01);
            PpToPortion01.EqEquipement.Add(MonRIToPp01);
            PpToPortion01.EqEquipement.Add(MaPIToPp01);
            PpToPortion01.EqEquipement.Add(MaTCToPp01);
            PpToPortion01.EqEquipement.Add(MonDEToPp01);

            EqLiaisonExterne MaLE2ToPp01 = new EqLiaisonExterne()
            {
                Libelle = "GOP - LiaisonExterneDelete01Test" + MonSuffixe,
                CleNomTiersAss = 185,
                TypeFluide = "GAZ",
                CleTypeLiaison = 21,
                CleTypeEq = 5,
                DateMajEquipement = DateTime.Now,
                Supprime = true
            };
            EqDrainage MonDR2ToPp01 = new EqDrainage()
            {
                Libelle = "GOP - DrainageDelete01Test" + MonSuffixe,
                CleTypeDrainage = 246,
                CleTypeEq = 3,
                IntensiteMaximaleSupporteeNullable = 12,
                DateMajEquipement = DateTime.Now,
                Supprime = true
            };

            PpToPortion01.EqEquipement.Add(MaLE2ToPp01);
            PpToPortion01.EqEquipement.Add(MonDR2ToPp01);

            // ---------------------------------------------------------------------

            EqSoutirage MonSOToPp02 = new EqSoutirage()
            {
                Libelle = "GOP - Sourtirage02Test" + MonSuffixe,
                CleRedresseur = 265,
                CleDeversoir = 240,
                DateMiseEnServiceRedresseurNullable = DateTime.Now,
                TensionReglageNullable = 5,
                IntensiteReglageNullable = 10,
                DateControleNullable = DateTime.Now,
                LongueurDeversoirNullable = 10,
                CleTypeEq = 2,
                DateMajEquipement = DateTime.Now
            };
            EqLiaisonExterne MaLEToPp02 = new EqLiaisonExterne()
            {
                Libelle = "GOP - LiaisonExterne02Test" + MonSuffixe,
                CleNomTiersAss = 185,
                TypeFluide = "GAZ",
                CleTypeLiaison = 21,
                CleTypeEq = 5,
                DateMajEquipement = DateTime.Now
            };
            EqDrainage MonDRToPp02 = new EqDrainage()
            {
                Libelle = "GOP - Drainage02Test" + MonSuffixe,
                CleTypeDrainage = 246,
                IntensiteMaximaleSupporteeNullable = 12,
                CleTypeEq = 3,
                DateMajEquipement = DateTime.Now
            };
            EqPostegaz MonPGToPp02 = new EqPostegaz()
            {
                Libelle = "GOP - PosteGaz02Test" + MonSuffixe,
                TypePoste = "DP",
                CleTypeEq = 8,
                DateMajEquipement = DateTime.Now
            };
            EqFourreauMetallique MonFMToPp02 = new EqFourreauMetallique()
            {
                Libelle = "GOP - FourreauMetallique02Test" + MonSuffixe,
                CleTypeEq = 7,
                DateMajEquipement = DateTime.Now,
                LongueurNullable = 1
            };
            EqAnodeGalvanique MonAGToPp02 = new EqAnodeGalvanique()
            {
                Libelle = "GOP - AnodeGalvanique02Test" + MonSuffixe,
                CleTypeAnode = 233,
                CleTypeEq = 9,
                DateMajEquipement = DateTime.Now
            };
            EqLiaisonInterne MaLIToPp02 = new EqLiaisonInterne()
            {
                Libelle = "GOP - LiaisonInterbe02Test" + MonSuffixe,
                CleTypeLiaison = 21,
                CleTypeEq = 4,
                DateMajEquipement = DateTime.Now
            };
            MaLIToPp02.Pp2 = PpToPortion02;

            EqRaccordIsolant MonRIToPp02 = new EqRaccordIsolant()
            {
                Libelle = "GOP - RaccordIsolant02Test" + MonSuffixe,
                CleTypeRi = 260,
                EnumEtatElect = 11,
                EnumConfigElectNormale = 16,
                CleTypeLiaison = 251,
                CleTypeEq = 11,
                DateMajEquipement = DateTime.Now
            };
            EqPile MaPIToPp02 = new EqPile()
            {
                Libelle = "GOP - Pile02Test" + MonSuffixe,
                CleCaracteristiquePile = 22,
                CleTypeDeversoir = 235,
                CleTypeEq = 12,
                DateMajEquipement = DateTime.Now
            };
            EqTiersCroiseSansLiaison MaTCToPp02 = new EqTiersCroiseSansLiaison()
            {
                Libelle = "GOP - TiersCroisé02Test" + MonSuffixe,
                CleTypeEq = 6,
                DateMajEquipement = DateTime.Now
            };
            EqDispoEcoulementCourantsAlternatifs MonDEToPp02 = new EqDispoEcoulementCourantsAlternatifs()
            {
                Libelle = "GOP - DispEcoulement02Test" + MonSuffixe,
                CapaciteCondensateurNullable = 16000,
                CleTypePriseDeTerre = 257,
                CleTypeEq = 10,
                DateMajEquipement = DateTime.Now
            };

            PpToPortion02.EqEquipement.Add(MonSOToPp02);
            PpToPortion02.EqEquipement.Add(MaLEToPp02);
            PpToPortion02.EqEquipement.Add(MonDRToPp02);
            PpToPortion02.EqEquipement.Add(MonPGToPp02);
            PpToPortion02.EqEquipement.Add(MonFMToPp02);
            PpToPortion02.EqEquipement.Add(MonAGToPp02);
            PpToPortion02.EqEquipement.Add(MaLIToPp02);
            PpToPortion02.EqEquipement.Add(MonRIToPp02);
            PpToPortion02.EqEquipement.Add(MaPIToPp02);
            PpToPortion02.EqEquipement.Add(MaTCToPp02);
            PpToPortion02.EqEquipement.Add(MonDEToPp02);

            EqLiaisonExterne MaLE2ToPp02 = new EqLiaisonExterne()
            {
                Libelle = "GOP - LiaisonExterneDelete01Test" + MonSuffixe,
                CleNomTiersAss = 185,
                TypeFluide = "GAZ",
                CleTypeLiaison = 21,
                CleTypeEq = 5,
                DateMajEquipement = DateTime.Now,
                Supprime = true
            };
            EqDrainage MonDR2ToPp02 = new EqDrainage()
            {
                Libelle = "GOP - DrainageDelete02Test" + MonSuffixe,
                CleTypeDrainage = 246,
                CleTypeEq = 3,
                IntensiteMaximaleSupporteeNullable = 12,
                DateMajEquipement = DateTime.Now,
                Supprime = true
            };

            PpToPortion01.EqEquipement.Add(MaLE2ToPp02);
            PpToPortion01.EqEquipement.Add(MonDR2ToPp02);

            // Sauvegarde
            ServiceEnsElectrique.SaveChanges(error =>
            {
                if (error != null)
                {
                    ErrorWindow.CreateNew("Erreur");
                }
                else
                {
                    InfoWindow.CreateNew("Le jeu de test a bien été créé.");
                }

            });
        }
 /// <summary>
 /// Créez un nouvel objet EqPile.
 /// </summary>
 /// <param name="cleEquipement">Valeur initiale de la propriété CleEquipement.</param>
 /// <param name="clePp">Valeur initiale de la propriété ClePp.</param>
 /// <param name="cleTypeEq">Valeur initiale de la propriété CleTypeEq.</param>
 /// <param name="libelle">Valeur initiale de la propriété Libelle.</param>
 /// <param name="supprime">Valeur initiale de la propriété Supprime.</param>
 /// <param name="dateMajEquipement">Valeur initiale de la propriété DateMajEquipement.</param>
 /// <param name="cleCaracteristiquePile">Valeur initiale de la propriété CleCaracteristiquePile.</param>
 /// <param name="cleTypeDeversoir">Valeur initiale de la propriété CleTypeDeversoir.</param>
 public static EqPile CreateEqPile(global::System.Int32 cleEquipement, global::System.Int32 clePp, global::System.Int32 cleTypeEq, global::System.String libelle, global::System.Boolean supprime, global::System.DateTime dateMajEquipement, global::System.Int32 cleCaracteristiquePile, global::System.Int32 cleTypeDeversoir)
 {
     EqPile eqPile = new EqPile();
     eqPile.CleEquipement = cleEquipement;
     eqPile.ClePp = clePp;
     eqPile.CleTypeEq = cleTypeEq;
     eqPile.Libelle = libelle;
     eqPile.Supprime = supprime;
     eqPile.DateMajEquipement = dateMajEquipement;
     eqPile.CleCaracteristiquePile = cleCaracteristiquePile;
     eqPile.CleTypeDeversoir = cleTypeDeversoir;
     return eqPile;
 }