예제 #1
0
 /// <summary>
 /// Constructeur spécifique
 /// </summary>
 /// <param name="Id">ID de la table StuffSubUnity</param>
 /// <param name="Stuff">Stuff de ce StuffSubUnity</param>
 /// <param name="ArmyUnity">ArmyUnity de ce StuffSubUnity</param>
 public StuffSubUnity(int Id, Stuff Stuff, SubUnity SubUnity)
     : this()
 {
     DefinirId(Id);
     this.Stuff    = Stuff;
     this.SubUnity = SubUnity;
 }
예제 #2
0
 /// <summary>
 /// Constructeur spécifique
 /// </summary>
 /// <param name="Id">Identifiant du SubSub</param>
 /// <param name="Quantite">Quantite de ce SubSub</param>
 public SubSub(int Id, SubUnity Master, SubUnity Slave)
     : this()
 {
     DefinirId(Id);
     this.Master = Master;
     this.Slave  = Slave;
 }
예제 #3
0
 private void buttonDelier_Click(object sender, EventArgs e)
 {
     if (ficheSubSub1.SubSubSelectionne != null)
     {
         SubUnity SubUnityLie = Program.GMBD.EnumererSubUnity(null, null, new MyDB.CodeSql(" WHERE ((subunity.su_id IN(SELECT sub_sub.ss_fk_su_id_master FROM sub_sub)) AND (subunity.su_id NOT IN(SELECT char_rank.cr_sub_id FROM char_rank) AND subunity.su_id NOT IN (SELECT stuff_subunity.cfs_fk_subunity_id FROM stuff_subunity))AND (subunity.su_id = {0} OR subunity.su_id = {1}))", ficheSubSub1.SubSubSelectionne.Master.Id, ficheSubSub1.SubSubSelectionne.Slave.Id), null).FirstOrDefault();
         if (SubUnityLie == null)
         {
             PopUpConfirmation FormConfirmation = new PopUpConfirmation();
             FormConfirmation.LabelDuTexte = "Êtes vous certain de vouloir supprimer ce \nlien entre ces 2 sous unités ?";
             FormConfirmation.ShowDialog();
             if (FormConfirmation.Confirmation)
             {
                 if (Program.GMBD.SupprimerSubSub(ficheSubSub1.SubSubSelectionne))
                 {
                     ValidationProvider.SetError(buttonDelier, "Votre lien entre les sous unité a bien été supprimée");
                     ChargerSubSub(listeDeroulanteFaction1.FactionSelectionnee.Id, listeDeroulanteSousFaction1.SousFactionSelectionnee.Id, listeDeroulanteUnity1.UnitySelectionnee.Id);
                 }
             }
             else if (FormConfirmation.Annulation)
             {
                 // Ne rien faire
             }
         }
         else
         {
             errorProviderUnity.SetError(textBoxSousUnity, "Ces sous unité sont déjà utilisées, impossible de la supprimer avant de supprimer les élements attacher");
         }
     }
 }
예제 #4
0
 public bool SupprimerSubUnity(SubUnity SubUnity)
 {
     if (!m_BD.EstConnecte)
     {
         Initialiser();
     }
     SubUnity.SupprimerEnCascade(m_BD);
     return(true);
 }
예제 #5
0
 /// <summary>
 /// Methode permettant de réagir sur l'erreur d'un ajout ou d'une édition d'une unité
 /// </summary>
 /// <param name="Entite"></param>
 /// <param name="Champ"></param>
 /// <param name="MessageErreur"></param>
 private void SubUnityEnEdition_SurErreur(SubUnity Entite, SubUnity.Champ Champ, string MessageErreur)
 {
     switch (Champ)
     {
     case SubUnity.Champ.Name:
         errorProviderUnity.SetError(textBoxSousUnity, MessageErreur);
         break;
     }
     buttonAjouterSubUnity.Enabled = false;
 }
예제 #6
0
 /// <summary>
 /// Constructeur par défaut
 /// </summary>
 public CharactRank()
     : base()
 {
     m_Min      = -1;
     m_Max      = -1;
     m_Cost     = -1;
     m_Charact  = null;
     m_Rank     = null;
     m_SubUnity = null;
 }
예제 #7
0
 /// <summary>
 /// Constructeur spécifique
 /// </summary>
 /// <param name="Id">Identifiant du Charact_Rank</param>
 /// <param name="Cost">cout de ce Charact_Rank</param>
 public CharactRank(int Id, int Cost, Charact Caractere, Rank Rank, SubUnity SubUnity, int Min, int Max)
     : this()
 {
     DefinirId(Id);
     this.Cost      = Cost;
     this.SubUnity  = SubUnity;
     this.Caractere = Caractere;
     this.Rank      = Rank;
     this.Max       = Max;
     this.Min       = Min;
 }
예제 #8
0
 /// <summary>
 /// Constructeur spécifique
 /// </summary>
 /// <param name="Connexion">Connexion au serveur MySQL</param>
 /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param>
 public SubSub(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement)
     : this()
 {
     base.Connexion = Connexion;
     if (Enregistrement != null)
     {
         DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "ss_id"));
         this.Slave  = new SubUnity(Connexion, Enregistrement);
         this.Master = new SubUnity(Connexion, Enregistrement);
     }
 }
예제 #9
0
 private IEnumerable <SubUnity> EnumererSubUnity()
 {
     if (base.Connexion == null)
     {
         return(new SubUnity[0]);
     }
     return(SubUnity.Enumerer(Connexion, Connexion.Enumerer(
                                  @"SELECT su_id, su_name, su_fk_unity_id
             FROM subunity
             WHERE (su_fk_unity_id = {0})",
                                  Id)));
 }
예제 #10
0
        /// <summary>
        /// Met à jour la listview des SubUnitys 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 EstSubUnity = typeof(T).Equals(typeof(SubUnity));

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

                listViewSubUnity.Columns.Add(new ColumnHeader()
                {
                    Name      = "SubUnitys",
                    Text      = "Sous unités",
                    TextAlign = HorizontalAlignment.Center,
                });
            }

            foreach (T Entite in Entites)
            {
                ListViewItem NouvelElement = new ListViewItem()
                {
                    Tag = Entite
                };
                NouvelElement.SubItems.Clear();
                if (EstSubUnity)
                {
                    SubUnity SubUnity = Entite as SubUnity;
                    NouvelElement.Text = SubUnity.Name;
                    NouvelElement.SubItems.Add(SubUnity.Name);
                }
                listViewSubUnity.Items.Add(NouvelElement);
            }

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

            listViewSubUnity.Visible = true;
            listViewSubUnity_SelectedIndexChanged(listViewSubUnity, EventArgs.Empty);
            return(true);
        }
예제 #11
0
        private void buttonAjouterSubUnity_Click(object sender, EventArgs e)
        {
            m_SubUnityEnEdition                  = new SubUnity();
            m_SubUnityEnEdition.SurErreur       += SubUnityEnEdition_SurErreur;
            m_SubUnityEnEdition.AvantChangement += SubUnityEnEdition_AvantChangement;
            m_SubUnityEnEdition.ApresChangement += SubUnityEnEdition_ApresChangement;

            m_SubUnityEnEdition.Unity       = listeDeroulanteUnity1.UnitySelectionnee;
            m_SubUnityEnEdition.Name        = textBoxSousUnity.Text;
            m_SubUnityEnEdition.SousFaction = listeDeroulanteSousFaction1.SousFactionSelectionnee;
            if (m_SubUnityEnEdition.EstValide && Program.GMBD.AjouterSubUnity(m_SubUnityEnEdition))
            {
                textBoxSousUnity.Text = "";
                ChargerFicheSansFiltre(ficheSubUnity1, listeDeroulanteFaction1.FactionSelectionnee.Id, listeDeroulanteSousFaction1.SousFactionSelectionnee.Id, listeDeroulanteUnity1.UnitySelectionnee.Id);
                ChargerFicheSansFiltre(ficheSubUnitySlave, listeDeroulanteFaction1.FactionSelectionnee.Id, listeDeroulanteSousFaction1.SousFactionSelectionnee.Id, listeDeroulanteUnity1.UnitySelectionnee.Id);
            }
        }
예제 #12
0
        /// <summary>
        /// Notifie l'encodeur des éventuelles réussites d'insertions
        /// </summary>
        /// <param name="Entite"></param>
        /// <param name="Champ"></param>
        /// <param name="ValeurPrecedente"></param>
        /// <param name="ValeurActuelle"></param>
        private void SubUnityEnEdition_ApresChangement(SubUnity Entite, SubUnity.Champ Champ, object ValeurPrecedente, object ValeurActuelle)
        {
            switch (Champ)
            {
            case SubUnity.Champ.Name:
                if (ficheSubUnity1.SubUnitySelectionne != null)
                {
                    ValidationProvider.SetError(textBoxSousUnity, "Votre sous unité a bien été modifié");
                }
                else if (ficheSubUnity1.SubUnitySelectionne == null)
                {
                    ValidationProvider.SetError(textBoxSousUnity, "Votre caractère a bien été ajouté");
                }

                break;
            }
            buttonAjouterSubUnity.Enabled = true;
        }
예제 #13
0
 public IEnumerable <SubUnity> EnumererSubUnity(MyDB.CodeSql ValeurSouhaitee, MyDB.CodeSql ClauseJoin, MyDB.CodeSql ClauseWhere, MyDB.CodeSql ClauseOrderBy)
 {
     if (ClauseWhere == null)
     {
         ClauseWhere = MyDB.CodeSql.Vide;
     }
     if (ClauseOrderBy == null)
     {
         ClauseOrderBy = MyDB.CodeSql.Vide;
     }
     if (ClauseJoin == null)
     {
         ClauseJoin = MyDB.CodeSql.Vide;
     }
     if (ValeurSouhaitee == null)
     {
         ValeurSouhaitee = new MyDB.CodeSql("*");
     }
     return(SubUnity.Enumerer(m_BD, m_BD.Enumerer("SELECT {0} FROM {1} {2} {3} {4}", ValeurSouhaitee, c_NomTable_SubUnity, ClauseJoin, ClauseWhere, ClauseOrderBy)));
 }
예제 #14
0
        /// <summary>
        /// Methode permettant de vérifier si la sous unité existe avant le changement de celle ci dans la base de données
        /// </summary>
        /// <param name="Entite"></param>
        /// <param name="Champ"></param>
        /// <param name="ValeurActuelle"></param>
        /// <param name="NouvelleValeur"></param>
        /// <param name="AccumulateurErreur"></param>
        private void SubUnityEnEdition_AvantChangement(SubUnity Entite, SubUnity.Champ Champ, object ValeurActuelle, object NouvelleValeur, AccumulateurErreur AccumulateurErreur)
        {
            switch (Champ)
            {
            case SubUnity.Champ.Name:
                // Si il est en modification
                if (ficheSubUnity1.SubUnitySelectionne != null)
                {
                    SubUnity SubUnityExiste = Program.GMBD.EnumererSubUnity(null,
                                                                            new MyDB.CodeSql(@" JOIN subfaction ON subunity.su_fk_subfaction_id = subfaction.sf_id"),
                                                                            new MyDB.CodeSql(@"WHERE subfaction.sf_fk_faction_id = {0} AND subfaction.sf_id = {1} AND su_name = {2} AND su_id <> {3} AND subunity.su_fk_unity_id = {4}",
                                                                                             listeDeroulanteFaction1.FactionSelectionnee.Id, listeDeroulanteSousFaction1.SousFactionSelectionnee.Id,
                                                                                             textBoxSousUnity.Text, ficheSubUnity1.SubUnitySelectionne.Id, listeDeroulanteUnity1.UnitySelectionnee.Id), null).FirstOrDefault();

                    if (SubUnityExiste != null)
                    {
                        AccumulateurErreur.NotifierErreur("Cette sous unité existe déjà pour cette faction et sous faction, veuillez en choisir une autre !");
                    }
                }
                // Si il est en ajout
                else if (ficheSubUnity1.SubUnitySelectionne == null)
                {
                    SubUnity SubUnityExiste = Program.GMBD.EnumererSubUnity(null,
                                                                            new MyDB.CodeSql(@" JOIN subfaction ON subunity.su_fk_subfaction_id = subfaction.sf_id"),
                                                                            new MyDB.CodeSql(@"WHERE subfaction.sf_fk_faction_id = {0} AND subfaction.sf_id = {1} AND su_name = {2} AND subunity.su_fk_unity_id = {3} ",
                                                                                             listeDeroulanteFaction1.FactionSelectionnee.Id, listeDeroulanteSousFaction1.SousFactionSelectionnee.Id,
                                                                                             textBoxSousUnity.Text, listeDeroulanteUnity1.UnitySelectionnee.Id), null).FirstOrDefault();

                    if (SubUnityExiste != null)
                    {
                        AccumulateurErreur.NotifierErreur("Cette sous unité existe déjà, veuillez en choisir une autre !");
                    }
                }
                break;
            }
        }
예제 #15
0
 /// <summary>
 /// Constructeur par défaut
 /// </summary>
 public StuffSubUnity()
     : base()
 {
     m_SubUnity = null;
     m_Stuff    = null;
 }
예제 #16
0
 public bool ModifierSubUnity(SubUnity SubUnity)
 {
     return(SubUnity.Enregistrer(m_BD, SubUnity, null, true));
 }
예제 #17
0
 public bool AjouterSubUnity(SubUnity NouvelleSubUnity)
 {
     return(NouvelleSubUnity.Enregistrer(m_BD, NouvelleSubUnity, NouvelleSubUnity.IdDeLaTablePrincipale, false));
 }
예제 #18
0
 /// <summary>
 /// Constructeur par défaut
 /// </summary>
 public SubSub()
     : base()
 {
     m_Master = null;
     m_Slave  = null;
 }
예제 #19
0
        //Reste du boulot ICI en dessous !
        #region Caractère en édition
        /// <summary>
        /// Methode permettant de réagir sur l'erreur d'un ajout ou d'une édition de caractère
        /// </summary>
        /// <param name="Entite"></param>
        /// <param name="Champ"></param>
        /// <param name="MessageErreur"></param>
//        private void FigurineEnEdition_SurErreur(Charact Entite, Charact.Champ Champ, string MessageErreur)
//        {
//            switch (Champ)
//            {
//                case Charact.Champ.Name:
//              //      errorProviderErreurFigurine.SetError(textBoxFigurine, MessageErreur);
//                    break;
//            }
//            buttonAjouterPersonnage.Enabled = false;
//        }
        #endregion


        private void buttonCréerFigurine_Click(object sender, EventArgs e)
        {
            Faction     FactionExiste     = null;
            SousFaction SousFactionExiste = null;

            if (listeDeroulanteFaction1.FactionSelectionnee != null)
            {
                FactionExiste = Program.GMBD.EnumererFaction(null,
                                                             null,
                                                             new MyDB.CodeSql("WHERE faction.fa_id = {0}", listeDeroulanteFaction1.FactionSelectionnee.Id),
                                                             null).FirstOrDefault();
                if (FactionExiste != null)
                {
                    if (listeDeroulanteSousFaction1.SousFactionSelectionnee != null)
                    {
                        SousFactionExiste = Program.GMBD.EnumererSousFaction(null,
                                                                             null,
                                                                             new MyDB.CodeSql("WHERE subfaction.sf_fk_faction_id = {0} AND subfaction.sf_id = {1}", listeDeroulanteFaction1.FactionSelectionnee.Id, listeDeroulanteSousFaction1.SousFactionSelectionnee.Id),
                                                                             null).FirstOrDefault();
                        if (SousFactionExiste != null)
                        {
                            if (listeDeroulanteUnity1.UnitySelectionnee != null)
                            {
                                Unity UnityExiste = Program.GMBD.EnumererUnity(null,
                                                                               null,
                                                                               new MyDB.CodeSql("WHERE un_id = {0}",
                                                                                                listeDeroulanteUnity1.UnitySelectionnee.Id),
                                                                               null).FirstOrDefault();
                                if ((UnityExiste != null) && (listeDeroulanteSubUnity1.SubUnitySelectionnee != null))
                                {
                                    SubUnity SubUnityExiste = Program.GMBD.EnumererSubUnity(null,
                                                                                            new MyDB.CodeSql(@"JOIN unity ON subunity.su_fk_unity_id = unity.un_id
                                                                                                                "),
                                                                                            new MyDB.CodeSql(" WHERE un_id = {0} AND su_id = {1}",
                                                                                                             listeDeroulanteUnity1.UnitySelectionnee.Id, listeDeroulanteSubUnity1.SubUnitySelectionnee.Id),
                                                                                            null).FirstOrDefault();
                                    if (SubUnityExiste != null)
                                    {
                                        if (listeDeroulanteChar1.CharactSelectionnee != null)
                                        {
                                            Charact CharactExiste = Program.GMBD.EnumererCaractere(null,
                                                                                                   new MyDB.CodeSql(@"JOIN char_rank on cr_fk_ch_id = ch_id
                                                                                                                      JOIN subunity on cr_sub_id = su_id"),
                                                                                                   new MyDB.CodeSql(" WHERE ch_id = {0} AND su_id = {1}",
                                                                                                                    listeDeroulanteChar1.CharactSelectionnee.Id, listeDeroulanteSubUnity1.SubUnitySelectionnee.Id),
                                                                                                   null).FirstOrDefault();
                                            if (CharactExiste != null)
                                            {
                                                Figurine NouvelleFigurine = new Figurine();
                                                // NouvelleFigurine.SurErreur += FigurineEnEdition_SurErreur;
                                                // NouvelleFigurine.AvantChangement += FigurineEnEdition_AvantChangement;
                                                // NouvelleFigurine.ApresChangement += FigurineEnEdition_ApresChangement;
                                                NouvelleFigurine.Charact     = listeDeroulanteChar1.CharactSelectionnee;
                                                NouvelleFigurine.Utilisateur = Utilisateur;
                                                if ((NouvelleFigurine.EstValide) && Program.GMBD.AjouterFigurine(NouvelleFigurine))
                                                {
                                                    Program.GMBD.MettreAJourFicheFigurine(ficheFigurineStuff1, Utilisateur.Id);
                                                    listeDeroulanteFaction1.ResetText();
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #20
0
 public Element(SubUnity SubUnity)
 {
     this.SubUnity = SubUnity;
 }