Exemplo n.º 1
0
        /// <summary>
        /// Edit a famille (just its name)
        /// </summary>
        /// <param name="famille">Old object name to edit</param>
        /// <param name="nom">New name</param>
        internal void EditFamille(Famille famille, string nom)
        {
            sqlConn = new SQLiteConnection("Data Source=Mercure.SQLite;");

            SQLiteCommand sqlCmd = new SQLiteCommand("UPDATE Familles SET RefFamille = @RefFamille, Nom = @Nom WHERE RefFamille = @RefFamille;", sqlConn);

            sqlCmd.Parameters.Add(new SQLiteParameter("@RefFamille", famille.RefFamille));
            sqlCmd.Parameters.Add(new SQLiteParameter("@Nom", nom));

            Console.WriteLine(sqlCmd.CommandText);

            sqlCmd.Connection = sqlConn;
            sqlConn.Open();

            SQLiteTransaction trans = sqlConn.BeginTransaction();

            try
            {
                Console.WriteLine(sqlCmd.ExecuteNonQuery() + " : " + sqlCmd.CommandText);
            }
            catch (SQLiteException e)
            {
                Console.WriteLine(sqlCmd.CommandText);
                Console.WriteLine(e.Message);
            }
            trans.Commit();
            sqlConn.Close();
        }
Exemplo n.º 2
0
 /**
  * Constructeur
  * Param:
  *   Nom de la base de données
  *   Famille à modifier
  */
 public FormSaveFamille(String databaseFileName, Famille famille)
 {
     this.toUpdate         = true;
     this.databaseFileName = databaseFileName;
     InitializeComponent();
     InitializeTextBoxes(famille);
 }
Exemplo n.º 3
0
        private void supprimerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (familleListview.SelectedIndices.Count == 1)
            {
                if (DialogResult.OK == MessageBox.Show("Attention, vous êtes sur le point de supprimer une famille, et tous les articles et sous familles associés à cette famille. \n Etes vous sur de vouloir continuer ?", "Attention", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
                {
                    int                SelectedIndex      = familleListview.SelectedIndices[0];
                    String             refFamilleToDelete = this.familleListview.Items[SelectedIndex].SubItems[0].Text;
                    Famille            famille            = DBManager.GetInstance().GetFamilleByRef(refFamilleToDelete);
                    List <SousFamille> sousFamilles       = new List <SousFamille>();

                    //Supprimer tous les articles liées au sous-familles qui appartiennent à la famille
                    sousFamilles = DBManager.GetInstance().GetListeSousFamillesByFamille(refFamilleToDelete);
                    for (int i = 0; i < sousFamilles.Count; i++) //Pour chaque sous famille
                    {
                        DBManager.GetInstance().DeleteArticlesBySousFamille(sousFamilles[i].RefSousFamille);
                    }

                    //Supprimer toutes les sous familles associées à la famille
                    DBManager.GetInstance().DeleteSousFamillesByFamille(refFamilleToDelete);

                    //Supprimer la famille
                    DBManager.GetInstance().DeleteFamille(famille);

                    RefreshListView();
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Initialise une nouvelle instance de <see cref="SousFamille"/>.
        /// </summary>
        /// <param name="Reference"> la référence de la sous-famille </param>
        /// <param name="Nom"> le nom de la sous-famille</param>
        public SousFamille(int Reference, string Nom, Famille Famille)
        {
            this.Reference = Reference;
            this.Nom       = Nom;

            this.Famille = Famille;
        }
Exemplo n.º 5
0
        /// <summary>
        /// Ajoute un article dans la base de données.
        /// </summary>
        /// <returns>L'article ajouté</returns>
        public Article Ajouter_Article()
        {
            SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection();


            Famille Famille = (Famille)Choix_Famille_Article.SelectedItem;

            SousFamille Sous_Famille = (SousFamille)Choix_Sous_Famille_Article.SelectedItem;

            Sous_Famille.Definir_Famille(Famille);

            Marque Marque = (Marque)Choix_Marque_Article.SelectedItem;

            string Reference   = Reference_Article_Edition.Text;
            string Description = Description_Article_Edition.Text;
            string Prix        = Prix_Unitaire_Article_Edition.Text;
            string Quantite    = Quantite_Article_Edition.Text;

            double Prix_Converti = Convert.ToDouble(Prix);

            Data_Reader.Inserer_Sous_Famille(Sous_Famille.Recuperer_Nom(), Famille.Recuperer_Reference());

            Data_Reader.Inserer_Article(Reference,
                                        Description,
                                        Sous_Famille.Recuperer_Reference(),
                                        Marque.Recuperer_Reference(),
                                        Prix_Converti,
                                        Int32.Parse(Quantite));

            Data_Reader.Terminer_Connection();

            Article Article = new Article(Reference, Description, Sous_Famille, Marque, Prix_Converti, Int32.Parse(Quantite));

            return(Article);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Lance une nouvelle instance de <see cref="Fenetre_Ajout_Famille"/> avec un objet <see cref="ListViewItem"/> de type <see cref="Famille"/>.
        /// </summary>
        /// <param name="sender"> l'objet envoyé </param>
        /// <param name="e"> l'évènement </param>
        private void Bouton_Modifier_Click(object sender, EventArgs e)
        {
            // On affiche la même fenêtre que celle pour l'ajout d'une famille,
            // mais avec les champs remplis avec les informations de l'objet.

            // On vérifie qu'un élément a bien été sélectionné.

            if (Familles_Liste.SelectedItems.Count > 0)
            {
                Fenetre_Ajout_Famille Fenetre_Ajout = new Fenetre_Ajout_Famille(Familles_Liste.SelectedItems[0]);

                DialogResult Resultat = Fenetre_Ajout.ShowDialog();

                // On modifie les données de la ligne correspondant à la famille.

                if (Resultat == DialogResult.OK)
                {
                    Famille Famille = Fenetre_Ajout.Mettre_A_Jour_Famille();

                    Familles_Liste.Items[Familles_Liste.SelectedIndices[0]] = new ListViewItem(Famille.Recuperer_Donnees());

                    ((Fenetre_Principale)Owner).Mise_A_Jour_Barre_De_Statut("Vous avez modifié une famille avec succès.");
                }
            }
        }
Exemplo n.º 7
0
        /*
         * @param databasefile famille
         * mettre a jours une famille
         * */
        public static void UpdateFamille(String databaseFile, Famille famille)
        {
            SQLiteHelper helper = new SQLiteHelper(databaseFile);
            Dictionary <String, Object> data = new Dictionary <String, Object>();

            data.Add("Nom", famille.Nom);
            helper.Update(Configuration.FAMILLE_TABLE_NAME, data, String.Format("RefFamille = {0}", famille.Ref_Famille));
        }
Exemplo n.º 8
0
        /// <summary>
        /// Constructor used to edit a family
        /// </summary>
        /// <param name="familleToEdit">Family information with will fill the form</param>
        public AddFamilleForm(Famille familleToEdit)
        {
            InitializeComponent();

            this.Text = "Modifier une famille";

            famille            = familleToEdit;
            FamilleTxtbox.Text = familleToEdit.Nom;
        }
Exemplo n.º 9
0
        /*
         * @param databasefile famille
         * inserer une famille dans la base
         * */
        public static void InsertFamille(String databaseFile, Famille famille)
        {
            SQLiteHelper helper = new SQLiteHelper(databaseFile);
            Dictionary <String, Object> data = new Dictionary <String, Object>();

            data.Add("RefFamille", famille.Ref_Famille);
            data.Add("Nom", famille.Nom);
            helper.Insert(Configuration.FAMILLE_TABLE_NAME, data);
        }
Exemplo n.º 10
0
 /**
  * Fonction privée pour initialiser les listes de sous-familles et marques
  */
 private void InitializeLists()
 {
     //Chargement la liste des familles dans le combo-box
     familleList = Famille.GetAll(databaseFileName);
     foreach (Famille f in familleList)
     {
         familleComboBox.Items.Add(f.Nom);
         familleComboBox.SelectedIndex = 0; // Selection de la premiere famille par défaut
     }
 }
Exemplo n.º 11
0
        /// <summary>
        /// Ajoute la famille dans la base de données.
        /// </summary>
        /// <returns> La famille ajoutée </returns>
        public Famille Ajouter_Famille()
        {
            SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection();

            int Reference = Data_Reader.Inserer_Famille(Nom_Famille_Edition.Text);

            Data_Reader.Terminer_Connection();

            Famille Famille = new Famille(Reference, Nom_Famille_Edition.Text);

            return(Famille);
        }
Exemplo n.º 12
0
        private void modifierToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (familleListview.SelectedIndices.Count == 1)
            {
                int     SelectedIndex    = familleListview.SelectedIndices[0];
                String  refFamilleToEdit = this.familleListview.Items[SelectedIndex].SubItems[0].Text;
                Famille famille          = DBManager.GetInstance().GetFamilleByRef(refFamilleToEdit);

                AddFamilleForm form = new AddFamilleForm(famille);
                form.ShowDialog();
                RefreshListView();
            }
        }
Exemplo n.º 13
0
        /*
         * @param databasefile
         * recuperer tous les informations sur une famille
         * @return list de famille
         * */
        public static List <Famille> GetAll(String databaseFile)
        {
            SQLiteHelper   helper       = new SQLiteHelper(databaseFile);
            DataTable      marquesTable = helper.GetDataTable(String.Format("SELECT * FROM {0}", Configuration.FAMILLE_TABLE_NAME));
            List <Famille> familles     = new List <Famille>();

            foreach (DataRow r in marquesTable.Rows)
            {
                Famille famille = new Famille(Int32.Parse(r["RefFamille"].ToString()), r["Nom"].ToString());
                familles.Add(famille);
            }
            return(familles);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Get all sous-familles that belong to a family
        /// </summary>
        /// <param name="refFamille">Family name</param>
        /// <returns>A list of "sous-famille"</returns>
        public List <SousFamille> GetListeSousFamillesByFamille(string refFamille)
        {
            Famille            famille          = new Famille();
            SousFamille        sousFamille      = new SousFamille();
            List <SousFamille> listSousFamilles = new List <SousFamille>();

            sqlConn.Open();

            //Compter combien de résultat la requete retourne
            int           nbResults = 0;
            SQLiteCommand sqlCmd    = new SQLiteCommand("SELECT COUNT(*) FROM SousFamilles WHERE RefFamille = @RefFamille", sqlConn);

            sqlCmd.Parameters.Add(new SQLiteParameter("@RefFamille", refFamille));

            SQLiteDataReader reader = sqlCmd.ExecuteReader();

            if (reader.Read())
            {
                nbResults = reader.GetInt16(0);
            }

            reader.Close();
            reader.Dispose();


            //Récupération des sous-familles
            sqlCmd = new SQLiteCommand("SELECT RefSousFamille, RefFamille, Nom FROM SousFamilles WHERE RefFamille = @RefFamille", sqlConn);
            sqlCmd.Parameters.Add(new SQLiteParameter("@RefFamille", refFamille));

            reader = sqlCmd.ExecuteReader();

            if (reader.Read())
            {
                //On boucle sur le nombre de résultats obtenus
                for (int i = 0; i < nbResults; i++)
                {
                    sousFamille.RefSousFamille = reader.GetInt32(0);
                    sousFamille.RefFamille     = reader.GetInt32(1);
                    sousFamille.Nom            = reader.GetString(2);

                    listSousFamilles.Add(sousFamille);
                }
            }

            reader.Close();
            reader.Dispose();
            sqlConn.Close();

            return(listSousFamilles);
        }
Exemplo n.º 15
0
 private void supprimerFamilleButton_Click(object sender, EventArgs e)
 {
     if (familleListView.SelectedIndices.Count > 0)
     {
         int          aIndex = familleListView.SelectedIndices[0];
         DialogResult result = MessageBox.Show("Are you sure you want to delete : " + familles[aIndex].Nom, "Delete famille",
                                               MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
         if (result == DialogResult.Yes)
         {
             Famille.RemoveFamille(databaseFileName, familles[aIndex].Ref_Famille);
             LoadFamilles();
         }
     }
 }
Exemplo n.º 16
0
        /**
         * Fonction privée pour gérer le fichier xml
         */
        private void HandleXML()
        {
            //Efface la base de données si l'utilisateur a choisi nouvelle integration
            SQLiteHelper helper = new SQLiteHelper(databaseFileName);

            if (operation == OPERATION_CLEAR_INSERT)
            {
                helper.ClearDB();
                RegisterMessage("Database is cleared.");
            }

            //Charge le fichier xml et affiche un message à l'utilisateur
            XmlDocument doc = new XmlDocument();

            doc.Load(XmlFileName);
            RegisterMessage("Document is loaded.");

            //Prendre le noeud des articles
            XmlNode root = doc.ChildNodes[1];

            //Nombre des articles dans le fichier
            int childCount = root.ChildNodes.Count;

            //Combien devrait augmenter la barre de progression
            int incrementor = (int)Math.Ceiling((double)(100 / childCount));

            foreach (XmlNode node in root.ChildNodes)
            {
                //Insère la marque dans la base de données
                Marque marque = HandleMarque(node);

                //Insère la famille dans la base de données
                Famille famille = HandleFamille(node);

                //Insère le sous-famille dans la base de données
                SousFamille sousFamille = HandleSousFamille(node, famille);

                //Insère l'article dans la base de données
                Article article = HandleArticle(node, marque, sousFamille);

                //Incremente la barre de progression
                IncrementProgress(incrementor);
            }
            //Affiche un message de succés
            RegisterMessage("The integration was successful.");
            //Efface l'ancien nom de fichier
            setCurrentFileName(null);
            //Réinitialise la barre de progression
            ResetProgress();
        }
Exemplo n.º 17
0
        /// <summary>
        /// Met à jour la famille sélectionnée avec le nouveau nom entré.
        /// </summary>
        /// <returns> La famille mise à jour </returns>
        public Famille Mettre_A_Jour_Famille()
        {
            SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection();

            int Reference = Convert.ToInt32(this.Famille.SubItems[0].Text);

            Data_Reader.Mise_A_Jour_Famille(Reference, Nom_Famille_Edition.Text);

            Data_Reader.Terminer_Connection();

            Famille Famille = new Famille(Reference, Nom_Famille_Edition.Text);

            return(Famille);
        }
Exemplo n.º 18
0
        private void familleListview_KeyDown(object sender, KeyEventArgs e)
        {
            //Si on appuie sur la touche "suppr" et qu'une famille et sélectionnée
            if (e.KeyCode == Keys.Delete && familleListview.SelectedIndices.Count == 1)
            {
                //Si on appuie sur OK sur la fenetre de warning
                if (DialogResult.OK == MessageBox.Show("Attention, vous êtes sur le point de supprimer une famille, et tous les articles et sous familles associés à cette famille. \n Etes vous sur de vouloir continuer ?", "Attention", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
                {
                    int                SelectedIndex      = familleListview.SelectedIndices[0];
                    String             refFamilleToDelete = this.familleListview.Items[SelectedIndex].SubItems[0].Text;
                    Famille            famille            = DBManager.GetInstance().GetFamilleByRef(refFamilleToDelete);
                    List <SousFamille> sousFamilles       = new List <SousFamille>();

                    //Supprimer tous les articles liées au sous-familles qui appartiennent à la famille
                    sousFamilles = DBManager.GetInstance().GetListeSousFamillesByFamille(refFamilleToDelete);
                    for (int i = 0; i < sousFamilles.Count; i++) //Pour chaque sous famille
                    {
                        DBManager.GetInstance().DeleteArticlesBySousFamille(sousFamilles[i].RefSousFamille);
                    }

                    //Supprimer toutes les sous familles associées à la famille
                    DBManager.GetInstance().DeleteSousFamillesByFamille(refFamilleToDelete);

                    //Supprimer la famille
                    DBManager.GetInstance().DeleteFamille(famille);

                    RefreshListView();
                }
            }

            else if (e.KeyCode == Keys.F5)
            {
                RefreshListView();
            }
            //Si on appuie sur "entrer" pour modifier
            else if (e.KeyCode == Keys.Enter)
            {
                if (familleListview.SelectedIndices.Count == 1)
                {
                    int     SelectedIndex    = familleListview.SelectedIndices[0];
                    String  refFamilleToEdit = this.familleListview.Items[SelectedIndex].SubItems[0].Text;
                    Famille famille          = DBManager.GetInstance().GetFamilleByRef(refFamilleToEdit);

                    AddFamilleForm form = new AddFamilleForm(famille);
                    form.ShowDialog();
                    RefreshListView();
                }
            }
        }
Exemplo n.º 19
0
        private void LoadFamilles()
        {
            familleListView.Items.Clear();
            familles.Clear();
            familles.AddRange(Famille.GetAll(databaseFileName));
            foreach (Famille famille in familles)
            {
                ListViewItem item = new ListViewItem(Convert.ToString(famille.Ref_Famille));

                ListViewItem.ListViewSubItem nomItem = new ListViewItem.ListViewSubItem(item, famille.Nom);
                item.SubItems.Add(nomItem);

                familleListView.Items.Add(item);
            }
        }
Exemplo n.º 20
0
        /// <summary>
        /// Delete an family from the DB
        /// </summary>
        internal void DeleteFamille(Famille famille)
        {
            sqlConn = new SQLiteConnection("Data Source=Mercure.SQLite;");
            sqlConn.Open();
            SQLiteCommand sqlCmd = sqlConn.CreateCommand();

            sqlCmd.CommandText = "Delete From Familles Where RefFamille = '" + famille.RefFamille + "'";
            SQLiteDataReader reader = sqlCmd.ExecuteReader();

            Console.WriteLine(sqlCmd.CommandText);

            reader.Close();
            reader.Dispose();
            sqlConn.Close();
        }
Exemplo n.º 21
0
        /**
         * Fonction privée pour sauvegarder une famille à partir les champs de l'interface
         */
        private void SaveFamille()
        {
            //Reference de la famille
            String RefText = referenceFamilleTextBox.Text;
            //Nom de la famille
            String Nom = nomFamilleTextBox.Text;

            //L'utilisateur doit fournir le reference et le nom
            if (!RefText.Equals("") && !Nom.Equals(""))
            {
                try
                {
                    int     RefFamille = int.Parse(RefText);           // converte string à int
                    Famille famille    = new Famille(RefFamille, Nom); // Reconstruction de la famille
                    if (toUpdate)
                    {
                        //Modification de la famille
                        Famille.UpdateFamille(databaseFileName, famille);
                        MessageBox.Show("The family was updated.", "Famille info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        Famille f = Famille.FindFamille(databaseFileName, RefFamille);
                        if (f != null)
                        {
                            //Message de l'exception pour notifier l'utilisateur
                            MessageBox.Show("This reference is already present", "Famille error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        //Insertion de la famille
                        Famille.InsertFamille(databaseFileName, famille);
                        MessageBox.Show("The family was added.", "Famille info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    //Ferme la fenetre
                    Dispose();
                }
                catch (FormatException e)
                {
                    //Message de l'exception pour notifier l'utilisateur
                    MessageBox.Show(e.Message, "Famille error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                //Message de remplir pour l'utilisateur
                MessageBox.Show("Please fill all the required fields...", "Famille error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 22
0
        /// <summary>
        /// Retourne une instance de <see cref="Famille"/>.
        /// </summary>
        /// <param name="Id_Famille"> la référence de la famille </param>
        /// <returns>Une instance de <see cref="Famille"/></returns>
        public Famille Recuperer_Famille(int Id_Famille)
        {
            SQLiteCommand Requete_Famille = new SQLiteCommand("SELECT * FROM Familles WHERE @Id_Famille == RefFamille;", Connection);

            Requete_Famille.Parameters.AddWithValue("@Id_Famille", Id_Famille);

            SQLiteDataReader Lecture_Table_Famille = Requete_Famille.ExecuteReader();

            Lecture_Table_Famille.Read();

            Famille Famille = new Famille(Convert.ToInt32(Lecture_Table_Famille[0]), Convert.ToString(Lecture_Table_Famille[1]));

            Lecture_Table_Famille.Close();

            return(Famille);
        }
Exemplo n.º 23
0
        /// <summary>
        /// Affiche l'intégralité des familles disponibles dans une <see cref="ListView"/>.
        /// </summary>
        private void Charger_Familles()
        {
            Familles_Liste.Items.Clear();

            SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection();

            List <Famille> Familles = Data_Reader.Recuperer_Familles();

            Data_Reader.Terminer_Connection();

            foreach (Famille Famille in Familles)
            {
                ListViewItem Famille_Item = new ListViewItem(Famille.Recuperer_Donnees());

                Familles_Liste.Items.Add(Famille_Item);
            }
        }
Exemplo n.º 24
0
        /// <summary>
        /// Affiche l'intégralité des familles disponibles dans un <see cref="ComboBox"/> et sélectionne celle correspondant à celle de l'article à modifier.
        /// </summary>
        /// <param name="Nom"> le nom de la famille de l'article à modifier </param>
        private void Charger_Familles(string Nom)
        {
            SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection();

            List <Famille> Familles = Data_Reader.Recuperer_Familles();

            Data_Reader.Terminer_Connection();

            foreach (Famille Famille in Familles)
            {
                Choix_Famille_Article.Items.Add(Famille);

                if (Nom.Equals(Famille.Recuperer_Nom()))
                {
                    Choix_Famille_Article.SelectedItem = Famille;
                }
            }
        }
Exemplo n.º 25
0
        /// <summary>
        /// Lance une nouvelle instance de <see cref="Fenetre_Ajout_Famille"/>.
        /// </summary>
        /// <param name="sender"> l'objet envoyé </param>
        /// <param name="e"> l'évènement </param>
        private void Bouton_Ajouter_Click(object sender, EventArgs e)
        {
            Fenetre_Ajout_Famille Fenetre_Ajout = new Fenetre_Ajout_Famille();

            DialogResult Resultat = Fenetre_Ajout.ShowDialog();

            // On affiche la nouvelle famille dans la liste.

            if (Resultat == DialogResult.OK)
            {
                Famille Famille = Fenetre_Ajout.Ajouter_Famille();

                ListViewItem Famille_Dans_Liste = new ListViewItem(Famille.Recuperer_Donnees());

                Familles_Liste.Items.Add(Famille_Dans_Liste);

                ((Fenetre_Principale)Owner).Mise_A_Jour_Barre_De_Statut("Vous avez ajouté une nouvelle famille avec succès.");
            }
        }
Exemplo n.º 26
0
        private void LoadSousFamilles()
        {
            sousFamillesListView.Items.Clear();
            sousFamilles.Clear();
            sousFamilles.AddRange(SousFamille.GetAll(databaseFileName));
            foreach (SousFamille sousFamille in sousFamilles)
            {
                ListViewItem item = new ListViewItem(Convert.ToString(sousFamille.Ref_Sous_Famille));

                ListViewItem.ListViewSubItem nomItem = new ListViewItem.ListViewSubItem(item, sousFamille.Nom);
                item.SubItems.Add(nomItem);

                Famille famille = Famille.FindFamille(databaseFileName, sousFamille.Ref_Famille);
                ListViewItem.ListViewSubItem familleItem = new ListViewItem.ListViewSubItem(item, famille != null ? famille.Nom : "");
                item.SubItems.Add(familleItem);

                sousFamillesListView.Items.Add(item);
            }
        }
Exemplo n.º 27
0
        /**
         * Fonction privée pour gérer le sous-famille dans le noeud
         */
        private SousFamille HandleSousFamille(XmlNode node, Famille famille)
        {
            //Npm de sous-famille
            String sousFamilleNom = node.ChildNodes[4].InnerText;
            //Recherche si le sous-famille est déjà dans la base de données
            SousFamille sousFamille = SousFamille.FindSousFamilleByNom(databaseFileName, sousFamilleNom);

            if (sousFamille == null)
            {
                //Insertion de sous-famille
                int Count = SousFamille.GetSize(databaseFileName);
                sousFamille = new SousFamille(Count, famille.Ref_Famille, sousFamilleNom);
                SousFamille.InsertSousFamille(databaseFileName, sousFamille);

                //Affiche d'un message de notification
                RegisterMessage("Sous-Famille : " + sousFamilleNom + " is added.");
            }

            return(sousFamille);
        }
Exemplo n.º 28
0
        /**
         * Fonction privée pour gérer la famille dans le noeud
         */
        private Famille HandleFamille(XmlNode node)
        {
            //Nom de la Famille
            String familleNom = node.ChildNodes[3].InnerText;
            //Recherche si la famille est déjà dans la base de données
            Famille famille = Famille.FindFamilleByNom(databaseFileName, familleNom);

            if (famille == null)
            {
                //Insertion de la famille
                int Count = Famille.GetSize(databaseFileName);
                famille = new Famille(Count, familleNom);
                Famille.InsertFamille(databaseFileName, famille);

                //Affiche d'un message de notification
                RegisterMessage("Famille : " + familleNom + " is added.");
            }

            return(famille);
        }
Exemplo n.º 29
0
        /// <summary>
        /// Affiche l'intégralité des familles disponibles dans un <see cref="ComboBox"/> et sélectionne celle correspondant à celle de la sous-famille à modifier.
        /// </summary>
        private void Charger_Famille()
        {
            Choix_Famille_Selection.Items.Clear();

            SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection();

            List <Famille> Familles = Data_Reader.Recuperer_Familles();

            Data_Reader.Terminer_Connection();

            foreach (Famille Famille in Familles)
            {
                Choix_Famille_Selection.Items.Add(Famille);

                if (Sous_Famille != null && Famille.ToString().Equals(Sous_Famille.SubItems[2].Text))
                {
                    Choix_Famille_Selection.SelectedItem = Famille;
                }
            }
        }
Exemplo n.º 30
0
        /// <summary>
        /// Retourne l'ensemble des sous-familles disponibles.
        /// </summary>
        /// <returns>La liste des sous-familles</returns>
        public List <SousFamille> Recuperer_Sous_Familles()
        {
            List <SousFamille> Sous_Familles = new List <SousFamille>();

            SQLiteCommand Requete_Sous_Familles = new SQLiteCommand("SELECT * FROM SousFamilles ORDER BY Nom ASC;", Connection);

            SQLiteDataReader Lecture_Table_Sous_Famille = Requete_Sous_Familles.ExecuteReader();

            while (Lecture_Table_Sous_Famille.Read())
            {
                Famille Famille = Recuperer_Famille(Convert.ToInt32(Lecture_Table_Sous_Famille[1]));

                Sous_Familles.Add(new SousFamille(Convert.ToInt32(Lecture_Table_Sous_Famille[0]),
                                                  Convert.ToString(Lecture_Table_Sous_Famille[2]),
                                                  Famille));
            }

            Lecture_Table_Sous_Famille.Close();

            return(Sous_Familles);
        }