public Element(Stuff Stuff)
 {
     this.Stuff = Stuff;
 }
 /// <summary>
 /// Constructeur par défaut
 /// </summary>
 public FigurineStuff()
     : base()
 {
     m_Figurine = null;
     m_Stuff    = null;
 }
 /// <summary>
 /// Constructeur par défaut
 /// </summary>
 public ArmyUnityStuff() : base()
 {
     m_ArmyUnity = null;
     m_Stuff     = null;
 }
 /// <summary>
 /// Constructeur spécifique
 /// </summary>
 /// <param name="Id">ID de la table ArmyUnityStuff</param>
 /// <param name="Stuff">Stuff de ce ArmyUnityStuff</param>
 /// <param name="ArmyUnity">ArmyUnity de ce ArmyUnityStuff</param>
 public ArmyUnityStuff(int Id, Stuff Stuff, ArmyUnity ArmyUnity) : this()
 {
     DefinirId(Id);
     this.Stuff     = Stuff;
     this.ArmyUnity = ArmyUnity;
 }
 /// <summary>
 /// Constructeur par défaut
 /// </summary>
 public StuffSubUnity()
     : base()
 {
     m_SubUnity = null;
     m_Stuff    = null;
 }
        public PageEquipements()
        {
            InitializeComponent();
            m_Utilisateur           = null;
            menuAdmin1.MaPageActive = 6;

            // Création d'une instance de type stuff, y attacher les méthodes permettant de gérer les erreurs d'édition
            m_StuffEnEdition                  = new Stuff();
            m_StuffEnEdition.SurErreur       += StuffEnEdition_SurErreur;
            m_StuffEnEdition.AvantChangement += StuffEnEdition_AvantChangement;
            m_StuffEnEdition.ApresChangement += StuffEnEdition_ApresChangement;

            // Initialisation de la liste des characters equipables
            m_StuffCharactRankEquipables = new List <StuffCharactRank>();

            #region Désactivation des différents boutons et listes déroulantes
            z_ficheEquipement.Enabled = false;

            // L'utilisateur ne peut pas encoder de nom tant qu'il n'a pas choisi un type d'équipement
            z_textBoxNomEquipement.Enabled = false;
            // Visibilité est cochée par défaut
            z_checkBoxVisibility.Checked = true;


            z_listeDeroulanteFeature.Enabled = false;
            z_textBoxValeur.Enabled          = false;

            z_listeDeroulanteFaction.Enabled     = false;
            z_listeDeroulanteSousFaction.Enabled = false;
            z_listeDeroulanteUnity.Enabled       = false;
            z_listeDeroulanteSubUnity.Enabled    = false;
            z_listeDeroulanteCharRank.Enabled    = false;
            z_numericUpDownCout.Enabled          = false;
            z_numericUpDownCout.Enabled          = false;
            z_numericUpDownMinimum.Enabled       = false;
            z_numericUpDownMaximum.Enabled       = false;

            q_buttonAjouter.Enabled       = false;
            q_buttonAjouterCaract.Enabled = false;
            q_buttonModifier.Enabled      = false;
            q_buttonSupprimer.Enabled     = false;
            q_buttonEquiper.Enabled       = false;
            #endregion

            #region Initialisation de la ListView des caractéristiques
            listViewCaracteristiques.View = View.Details;
            listViewCaracteristiques.Columns.Clear();
            listViewCaracteristiques.Columns.Add(new ColumnHeader()
            {
                Text      = "Caractéristique",
                TextAlign = HorizontalAlignment.Left
            });
            listViewCaracteristiques.Columns.Add(new ColumnHeader()
            {
                Text      = "Valeur",
                TextAlign = HorizontalAlignment.Left
            });
            listViewCaracteristiques.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            #endregion

            // Remplir la liste de type
            z_listeDeroulanteType.Type = Program.GMBD.EnumererType(null, null, null, PDSGBD.MyDB.CreerCodeSql("ty_name"));
            // Attacher la méthode qui doit se produire lorsqu'il y a un changement de sélection
            z_listeDeroulanteType.SurChangementSelection += ListeTypeChangementSelection;



            // TODO: Modifier la page de la manière suivante:
            // Ajouter la modification de l'équipement
            //                  * Vérifier unicité qd ajoute caractéristique à équipement
            //                  * Modifier le nom
            //                  * Modifier la valeur d'une de ces caractéristique
            //                  * Supprimer une caractéristique d'un équipement
            // Listes déroulantes mettre en dropdown au lieu de dropdownlist
            // Ajouter un machin autocomplete dans le ctor voir listederoulante faction ligne 40-41

            // Permet de réagir sur le changement de filtre pour aller rechercher les différents équipements qui correspondent au filtre
            z_ficheEquipement.SurChangementFiltre += (s, ev) =>
            {
                if (z_ficheEquipement.TexteFiltreEquipement != "")
                {
                    z_ficheEquipement.Equipement = Program.GMBD.EnumererStuff(
                        null,
                        null,
                        new MyDB.CodeSql("WHERE stuff.st_name LIKE {0}",
                                         string.Format(c_CritereQuiContient, z_ficheEquipement.TexteFiltreEquipement)),
                        new MyDB.CodeSql("ORDER BY st_name"));
                }
                else
                {
                    Program.GMBD.EnumererStuff(null, null, null, PDSGBD.MyDB.CreerCodeSql("st_name"));
                }
            };

            z_listeDeroulanteCharRank.SurChangementSelection += ListeDeroulanteCharRank_SurChangementSelection;

            // Equipable devrait être visible uniquement si il y a un equipement
            // dans la liste equipable par ça doit être des charact rank
            // Rajouter le coût de l'équipement par personnage sélectionné
            // Ajouter un filtre faction et sous-faction pour proposer des characters cohérents dans la listview equipables par
            // Listview avec Personnage
            // Qd l'utilisateur appuie sur approuver les liaisons => faire les insert dans la db
        }