예제 #1
0
        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
        }
예제 #2
0
        /// <summary>
        /// Met à jour la listview des utilisateurs et y insére les elements
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="Entites"></param>
        /// <returns></returns>
        private bool MettreAJourListe <T>(IEnumerable <T> Entites)
            where T : class, IEntiteMySQL
        {
            bool EstUtilisateur = typeof(T).Equals(typeof(Utilisateur));

            if (!EstUtilisateur)
            {
                return(false);
            }
            listViewUsers.Items.Clear();
            if (Entites == null)
            {
                return(false);
            }
            if (EstUtilisateur && (listViewUsers.Columns.Count != 2))
            {
                listViewUsers.Columns.Clear();

                listViewUsers.Columns.Add(new ColumnHeader()
                {
                    Name      = "utilisateur",
                    Text      = "Utilisateurs",
                    TextAlign = HorizontalAlignment.Left,
                });
                listViewUsers.Columns.Add(new ColumnHeader()
                {
                    Name      = "role",
                    Text      = "Rôles",
                    TextAlign = HorizontalAlignment.Left
                });
            }

            foreach (T Entite in Entites)
            {
                Utilisateur Utilisateur = Entite as Utilisateur;
                if (EstUtilisateur)
                {
                    ListViewItem NouvelElement = new ListViewItem()
                    {
                        Tag  = Entite,
                        Text = Utilisateur.Login,
                    };


                    NouvelElement.SubItems.Add(Utilisateur.Role.NomRole);

                    listViewUsers.Items.Add(NouvelElement);
                }
            }

            listViewUsers.Visible = false;
            foreach (ColumnHeader Colonne in listViewUsers.Columns)
            {
                Colonne.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
            }

            listViewUsers.Visible = true;
            listViewUsers_SelectedIndexChanged(listViewUsers, EventArgs.Empty);

            return(true);
        }
예제 #3
0
 /// <summary>
 /// Constructeur par défaut
 /// </summary>
 public PageMenuPrincipal()
 {
     InitializeComponent();
     m_Utilisateur = null;
     buttonDashboard.Hide();
 }
예제 #4
0
 /// <summary>
 /// Constructeur par défaut
 /// </summary>
 public Figurine()
     : base()
 {
     m_Charact     = null;
     m_Utilisateur = null;
 }