예제 #1
0
 /**
  * Constructeur
  * Param:
  *   Sous-Famille à modifier
  */
 public FormSaveSousFamille(SousFamille sousFamille)
 {
     this.toUpdate = true;
     InitializeComponent();
     InitializeLists();
     InitializeTextBoxes(sousFamille);
 }
예제 #2
0
        /// <summary>
        /// Lance une nouvelle instance de <see cref="Fenetre_Ajout_Sous_Famille"/> avec un objet <see cref="ListViewItem"/> de type <see cref="SousFamille"/>.
        /// </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 sous-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 (Sous_Familles_Liste.SelectedItems.Count > 0)
            {
                Fenetre_Ajout_Sous_Famille Fenetre_Ajout = new Fenetre_Ajout_Sous_Famille(Sous_Familles_Liste.SelectedItems[0]);

                DialogResult Resultat = Fenetre_Ajout.ShowDialog();

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

                if (Resultat == DialogResult.OK)
                {
                    SousFamille Sous_Famille = Fenetre_Ajout.Mettre_A_Jour_Sous_Famille();

                    Sous_Familles_Liste.Items[Sous_Familles_Liste.SelectedIndices[0]] = new ListViewItem(Sous_Famille.Recuperer_Donnees());

                    ((Fenetre_Principale)Owner).Mise_A_Jour_Barre_De_Statut("Vous avez modifié une sous-famille avec succès.");
                }
            }
        }
예제 #3
0
        private void LoadArticles()
        {
            articleListView.Items.Clear();
            articles.Clear();
            articles.AddRange(Article.GetAll(databaseFileName));
            foreach (Article article in articles)
            {
                ListViewItem item = new ListViewItem(article.Ref_Article);

                ListViewItem.ListViewSubItem descriptionItem = new ListViewItem.ListViewSubItem(item, article.Description);
                item.SubItems.Add(descriptionItem);

                SousFamille sousFamille = SousFamille.FindSousFamille(databaseFileName, article.Ref_Sous_Famille);
                ListViewItem.ListViewSubItem sousFamilleItem = new ListViewItem.ListViewSubItem(item, sousFamille != null ? sousFamille.Nom : "");
                item.SubItems.Add(sousFamilleItem);

                Marque marque = Marque.FindMarque(databaseFileName, article.Ref_Marque);
                ListViewItem.ListViewSubItem marqueItem = new ListViewItem.ListViewSubItem(item, marque != null ? marque.Nom : "");
                item.SubItems.Add(marqueItem);

                ListViewItem.ListViewSubItem quantiteItem = new ListViewItem.ListViewSubItem(item, Convert.ToString(article.Quantite));
                item.SubItems.Add(quantiteItem);

                ListViewItem.ListViewSubItem prixItem = new ListViewItem.ListViewSubItem(item, Convert.ToString(article.PrixHT));
                item.SubItems.Add(prixItem);

                articleListView.Items.Add(item);
            }
        }
예제 #4
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);
        }
예제 #5
0
        /// <summary>
        /// Retourne l'ensemble des articles disponibles.
        /// </summary>
        /// <returns>La liste des articles</returns>
        public List <Article> Recuperer_Articles()
        {
            List <Article> Articles = new List <Article> ();

            SQLiteCommand Requete_Article = new SQLiteCommand("SELECT * FROM Articles;", Connection);

            SQLiteDataReader Lecture_Table_Article = Requete_Article.ExecuteReader();

            while (Lecture_Table_Article.Read())
            {
                SousFamille Sous_Famille = Recuperer_Sous_Famille(Convert.ToInt16(Lecture_Table_Article[2]));

                Marque Marque = Recuperer_Marque(Convert.ToInt16(Lecture_Table_Article[3]));

                // On récupère le prix de l'article sous forme numérique.

                double Prix = Convert.ToDouble(Convert.ToString(Lecture_Table_Article[4]));

                Articles.Add(new Article(Convert.ToString(Lecture_Table_Article[0]),
                                         Convert.ToString(Lecture_Table_Article[1]),
                                         Sous_Famille,
                                         Marque,
                                         Prix,
                                         Convert.ToInt32(Lecture_Table_Article[5])
                                         ));
            }

            Lecture_Table_Article.Close();

            return(Articles);
        }
예제 #6
0
        /// <summary>
        /// Edit a sous famille
        /// </summary>
        /// <param name="sousFamille">New object new sous-famille which will remplace the old one</param>
        internal void EditSousFamille(SousFamille sousFamille)
        {
            sqlConn = new SQLiteConnection("Data Source=Mercure.SQLite;");

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

            sqlCmd.Parameters.Add(new SQLiteParameter("@RefSousFamille", sousFamille.RefSousFamille));
            sqlCmd.Parameters.Add(new SQLiteParameter("@Nom", sousFamille.Nom));
            sqlCmd.Parameters.Add(new SQLiteParameter("@RefFamille", sousFamille.RefFamille));

            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();
        }
예제 #7
0
        private void acceptBtn_Click(object sender, EventArgs e)
        {
            if (sousFamilleTxtbox.Text != "" && familleCombobox.Text != "")
            {
                if (sousFamille != null)
                {
                    sousFamille.Nom        = sousFamilleTxtbox.Text;
                    sousFamille.RefFamille = DBManager.GetInstance().getRefFamille(familleCombobox.Text);

                    //edit sous famille in DB
                    DBManager.GetInstance().EditSousFamille(sousFamille);
                }
                else
                {
                    sousFamille            = new SousFamille();
                    sousFamille.Nom        = sousFamilleTxtbox.Text;
                    sousFamille.RefFamille = DBManager.GetInstance().getRefFamille(familleCombobox.Text);

                    //Ajouter sous famille to DB
                    DBManager.GetInstance().AjouterSousFamilleToDB(sousFamille.Nom, familleCombobox.Text);
                }

                this.Close();
            }
        }
예제 #8
0
 /**
  * Constructeur
  * Param:
  *   Nom de la base de données
  *   Sous-Famille à modifier
  */
 public FormSaveSousFamille(String databaseFileName, SousFamille sousFamille)
 {
     this.databaseFileName = databaseFileName;
     this.toUpdate         = true;
     InitializeComponent();
     InitializeLists();
     InitializeTextBoxes(sousFamille);
 }
예제 #9
0
        /*
         * @param databasefile sousfamille
         * mettre a jours une sous famille
         */
        public static void UpdateSousFamille(String databaseFile, SousFamille sousFamille)
        {
            SQLiteHelper helper = new SQLiteHelper(databaseFile);
            Dictionary <String, Object> data = new Dictionary <String, Object>();

            data.Add("Nom", sousFamille.Nom);
            data.Add("RefFamille", sousFamille.Ref_Famille);
            helper.Update(Configuration.SOUS_FAMILLE_TABLE_NAME, data, String.Format("RefSousFamille = {0}", sousFamille.Ref_Sous_Famille));
        }
예제 #10
0
        /*
         * @param databasefile sousfamille
         * inserer une sous famille dans la table
         */
        public static void InsertSousFamille(String databaseFile, SousFamille sousF)
        {
            SQLiteHelper helper = new SQLiteHelper(databaseFile);
            Dictionary <String, Object> data = new Dictionary <String, Object>();

            data.Add("RefSousFamille", sousF.Ref_Sous_Famille);
            data.Add("RefFamille", sousF.Ref_Famille);
            data.Add("Nom", sousF.Nom);
            helper.Insert(Configuration.SOUS_FAMILLE_TABLE_NAME, data);
        }
예제 #11
0
        /// <summary>
        /// Ajoute la sous-famille dans la base de données.
        /// </summary>
        /// <returns> La sous-famille ajoutée </returns>
        public SousFamille Ajouter_Sous_Famille()
        {
            SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection();

            int Reference = Data_Reader.Inserer_Sous_Famille(Nom_Sous_Famille_Edition.Text, ((Famille)Choix_Famille_Selection.SelectedItem).Recuperer_Reference());

            Data_Reader.Terminer_Connection();

            SousFamille Sous_Famille = new SousFamille(Reference, Nom_Sous_Famille_Edition.Text, ((Famille)Choix_Famille_Selection.SelectedItem));

            return(Sous_Famille);
        }
예제 #12
0
        /**
         * Fonction privée pour sauvegarder sous-famille à partir les champs de l'interface
         */
        private void SaveSousFamille()
        {
            //Reference de sous-famille
            String RefSF = referenceSousTextBox.Text;
            //Nom de sous-famille
            String Nom = nomSousTextBox.Text;
            //Indice de la famille selectionnée
            int fIndex = familleComboBox.SelectedIndex;

            //L'utilisateur doit fournir le reference, nom et la famille
            if (fIndex > -1 && !RefSF.Equals("") && !Nom.Equals(""))
            {
                try
                {
                    int RefSousFamille = int.Parse(RefSF);                //converte string à int
                    int RefFamille     = familleList[fIndex].Ref_Famille; // reference de la famille selectionnée
                    //Reconstruction de sous-famille
                    SousFamille sousFamille = new SousFamille(RefSousFamille, RefFamille, Nom);
                    if (toUpdate)
                    {
                        //Modification de sous-famille
                        SousFamille.UpdateSousFamille(databaseFileName, sousFamille);
                        MessageBox.Show("The sous-famille was updated.", "Sous-Famille info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        SousFamille Sous_Fam = SousFamille.FindSousFamille(databaseFileName, RefSousFamille);
                        if (Sous_Fam != 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 sous-famille
                        SousFamille.InsertSousFamille(databaseFileName, sousFamille);
                        MessageBox.Show("The sous-famille was added.", "Sous-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, "Sous-Famille error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                //Message de remplir pour l'utilisateur
                MessageBox.Show("Please fill all the required fields...", "Sous-Famille error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #13
0
        private void modifierToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (sousfamilleListview.SelectedIndices.Count == 1)
            {
                int         SelectedIndex        = sousfamilleListview.SelectedIndices[0];
                String      refSousFamilleToEdit = this.sousfamilleListview.Items[SelectedIndex].SubItems[0].Text;
                SousFamille sousfamille          = DBManager.GetInstance().GetSousFamilleByRef(refSousFamilleToEdit);

                AddSousFamilleForm form = new AddSousFamilleForm(sousfamille);
                form.ShowDialog();
                RefreshListView();
            }
        }
예제 #14
0
        /// <summary>
        /// Initialise une nouvelle instance de <see cref="Article"/>.
        /// </summary>
        /// <param name="Reference"> la référence de l'article </param>
        /// <param name="Description"> le description de l'article </param>
        /// <param name="Sous_Famille"> la sous-famille associée </param>
        /// <param name="Marque"> la marque de l'article </param>
        /// <param name="Prix"> le prix unitaire (hors taxes) de l'article </param>
        /// <param name="Quantite"> la quantité de l'article présente </param>
        public Article(string Reference, string Description, SousFamille Sous_Famille, Marque Marque, double Prix, int Quantite)
        {
            this.Reference   = Reference;
            this.Description = Description;

            this.Sous_Famille = Sous_Famille;

            this.Marque = Marque;

            this.Prix = Prix;

            this.Quantite = Quantite;
        }
예제 #15
0
        /// <summary>
        /// Constructor used to edit a SousFamille
        /// </summary>
        /// <param name="sousfamilleToEdit">SousFamille information with will fill the form</param>
        public AddSousFamilleForm(SousFamille sousfamilleToEdit)
        {
            InitializeComponent();

            this.Text = "Modifier une sous-famille";

            sousFamille            = sousfamilleToEdit;
            sousFamilleTxtbox.Text = sousfamilleToEdit.Nom;

            familleCombobox.Items.AddRange(DBManager.GetInstance().GetFamilleNames());
            // On sélectionne dans la comboBox l'objet correspondant à celui qu'on à voulu éditer
            familleCombobox.SelectedIndex = familleCombobox.Items.IndexOf(DBManager.GetInstance().GetFamilleByRef(sousfamilleToEdit.RefFamille.ToString()).Nom);
        }
예제 #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();
        }
예제 #17
0
 private void supprimerSousFamilleButton_Click(object sender, EventArgs e)
 {
     if (sousFamillesListView.SelectedIndices.Count > 0)
     {
         int          aIndex = sousFamillesListView.SelectedIndices[0];
         DialogResult result = MessageBox.Show("Are you sure you want to delete : " + sousFamilles[aIndex].Nom, "Delete sous-famille",
                                               MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
         if (result == DialogResult.Yes)
         {
             SousFamille.RemoveSousFamille(databaseFileName, sousFamilles[aIndex].Ref_Sous_Famille);
             LoadSousFamilles();
         }
     }
 }
예제 #18
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);
        }
예제 #19
0
        /// <summary>
        /// Met à jour la sous-famille sélectionnée avec le nouveau nom entré et/ou la nouvelle famille associée choisie.
        /// </summary>
        /// <returns> La sous-famille mise à jour </returns>
        public SousFamille Mettre_A_Jour_Sous_Famille()
        {
            SqlDataReader Data_Reader = SqlDataReader.Ouvrir_Connection();

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

            Data_Reader.Mise_A_Jour_Sous_Famille(Reference, Nom_Sous_Famille_Edition.Text, ((Famille)Choix_Famille_Selection.SelectedItem).Recuperer_Reference());

            Data_Reader.Terminer_Connection();

            SousFamille Sous_Famille = new SousFamille(Reference, Nom_Sous_Famille_Edition.Text, (Famille)Choix_Famille_Selection.SelectedItem);

            return(Sous_Famille);
        }
예제 #20
0
        /// <summary>
        /// Delete an sous-famille from the DB
        /// </summary>
        internal void DeleteSousFamille(SousFamille sousfamille)
        {
            sqlConn = new SQLiteConnection("Data Source=Mercure.SQLite;");
            sqlConn.Open();
            SQLiteCommand sqlCmd = sqlConn.CreateCommand();

            sqlCmd.CommandText = "Delete From SousFamilles Where RefSousFamille = '" + sousfamille.RefSousFamille + "'";
            SQLiteDataReader reader = sqlCmd.ExecuteReader();

            Console.WriteLine(sqlCmd.CommandText);

            reader.Close();
            reader.Dispose();
            sqlConn.Close();
        }
예제 #21
0
        /**
         * Fonction privée pour initialiser les champs de sous-famille à modifier
         */
        private void InitializeTextBoxes(SousFamille sousFamille)
        {
            referenceSousTextBox.Text = Convert.ToString(sousFamille.Ref_Sous_Famille);
            nomSousTextBox.Text       = sousFamille.Nom;

            int i = 0;

            foreach (Famille famille in familleList)
            {
                if (famille.Ref_Famille == sousFamille.Ref_Famille)
                {
                    familleComboBox.SelectedIndex = i;
                }
                i++;
            }
        }
예제 #22
0
        /*
         * @param databasefile
         * recuperer les informations d'une sous famille
         * @return listde sous famille
         */
        public static List <SousFamille> GetAll(String databaseFile)
        {
            SQLiteHelper       helper       = new SQLiteHelper(databaseFile);
            DataTable          marquesTable = helper.GetDataTable(String.Format("SELECT * FROM {0}", Configuration.SOUS_FAMILLE_TABLE_NAME));
            List <SousFamille> sousFamilles = new List <SousFamille>();

            foreach (DataRow r in marquesTable.Rows)
            {
                SousFamille sf = new SousFamille(
                    Int32.Parse(r["RefSousFamille"].ToString()),
                    Int32.Parse(r["RefFamille"].ToString()),
                    r["Nom"].ToString());
                sousFamilles.Add(sf);
            }
            return(sousFamilles);
        }
예제 #23
0
 /**
  * Fonction privée pour initialiser les listes de sous-familles et marques
  */
 private void InitializeLists()
 {
     //Chargement la liste des sous-familles dans le combo-box
     sousFamilleList = SousFamille.GetAll(databaseFileName);
     foreach (SousFamille sf in sousFamilleList)
     {
         sousFamilleComboBox.Items.Add(sf.Nom);
         sousFamilleComboBox.SelectedIndex = 0; // Selection de premier sous-famille par défaut
     }
     //Chargement la liste des marques dans le combo-box
     marqueList = Marque.GetAll(databaseFileName);
     foreach (Marque m in marqueList)
     {
         marqueComboBox.Items.Add(m.Nom);
         marqueComboBox.SelectedIndex = 0; // Selection de la premiere articles par défaut
     }
 }
예제 #24
0
        /// <summary>
        /// Retourne une instance de <see cref="SousFamille"/>.
        /// </summary>
        /// <param name="Id_Sous_Famille"> la référence de la sous-famille</param>
        /// <returns>Une instance de <see cref="SousFamille"/>.</returns>
        public SousFamille Recuperer_Sous_Famille(int Id_Sous_Famille)
        {
            SQLiteCommand Requete_Sous_Famille = new SQLiteCommand("SELECT * FROM SousFamilles WHERE @Id_Sous_Famille == RefSousFamille;", Connection);

            Requete_Sous_Famille.Parameters.AddWithValue("@Id_Sous_Famille", Id_Sous_Famille);

            SQLiteDataReader Lecture_Table_Sous_Famille = Requete_Sous_Famille.ExecuteReader();

            Lecture_Table_Sous_Famille.Read();

            SousFamille Sous_Famille = new SousFamille(Convert.ToInt32(Lecture_Table_Sous_Famille[0]),
                                                       Convert.ToString(Lecture_Table_Sous_Famille[2]),
                                                       Recuperer_Famille(Convert.ToInt32(Lecture_Table_Sous_Famille[1])));

            Lecture_Table_Sous_Famille.Close();

            return(Sous_Famille);
        }
예제 #25
0
        /// <summary>
        /// Lance une nouvelle instance de <see cref="Fenetre_Ajout_Sous_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_Sous_Famille Fenetre_Ajout = new Fenetre_Ajout_Sous_Famille();

            DialogResult Resultat = Fenetre_Ajout.ShowDialog();

            // On affiche la nouvelle sous-famille dans la liste.

            if (Resultat == DialogResult.OK)
            {
                SousFamille Sous_Famille = Fenetre_Ajout.Ajouter_Sous_Famille();

                ListViewItem Sous_Famille_Dans_Liste = new ListViewItem(Sous_Famille.Recuperer_Donnees());

                Sous_Familles_Liste.Items.Add(Sous_Famille_Dans_Liste);

                ((Fenetre_Principale)Owner).Mise_A_Jour_Barre_De_Statut("Vous avez ajouté une nouvelle sous-famille avec succès.");
            }
        }
예제 #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);
            }
        }
예제 #27
0
        private void supprimerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (DialogResult.OK == MessageBox.Show("Attention, vous êtes sur le point de supprimer une sous-famille, et tous les articles associés à cette sous-famille. \n Etes vous sur de vouloir continuer ?", "Attention", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
            {
                int         SelectedIndex          = sousfamilleListview.SelectedIndices[0];
                String      refSousFamilleToDelete = this.sousfamilleListview.Items[SelectedIndex].SubItems[0].Text;
                SousFamille sousfamille            = DBManager.GetInstance().GetSousFamilleByRef(refSousFamilleToDelete);

                //Suppression des articles de la sous famille
                DBManager.GetInstance().DeleteArticlesBySousFamille(Int32.Parse(refSousFamilleToDelete));

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

                DBManager.GetInstance().DeleteSousFamille(sousfamille);

                RefreshListView();
            }
        }
예제 #28
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);
        }
예제 #29
0
        private void sousfamilleListview_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Delete && sousfamilleListview.SelectedIndices.Count == 1)
            {
                if (DialogResult.OK == MessageBox.Show("Attention, vous êtes sur le point de supprimer une sous-famille, et tous les articles associés à cette sous-famille. \n Etes vous sur de vouloir continuer ?", "Attention", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
                {
                    int         SelectedIndex          = sousfamilleListview.SelectedIndices[0];
                    String      refSousFamilleToDelete = this.sousfamilleListview.Items[SelectedIndex].SubItems[0].Text;
                    SousFamille sousfamille            = DBManager.GetInstance().GetSousFamilleByRef(refSousFamilleToDelete);

                    //Suppression des articles de la sous famille
                    DBManager.GetInstance().DeleteArticlesBySousFamille(Int32.Parse(refSousFamilleToDelete));

                    DBManager.GetInstance().DeleteSousFamille(sousfamille);

                    RefreshListView();
                }
            }

            else if (e.KeyCode == Keys.F5)
            {
                RefreshListView();
            }
            else if (e.KeyCode == Keys.Enter)
            {
                if (sousfamilleListview.SelectedIndices.Count == 1)
                {
                    int         SelectedIndex        = sousfamilleListview.SelectedIndices[0];
                    String      refSousFamilleToEdit = this.sousfamilleListview.Items[SelectedIndex].SubItems[0].Text;
                    SousFamille sousfamille          = DBManager.GetInstance().GetSousFamilleByRef(refSousFamilleToEdit);


                    AddSousFamilleForm form = new AddSousFamilleForm(sousfamille);
                    form.ShowDialog();
                    RefreshListView();
                }
            }
        }
예제 #30
0
        /**
         * Fonction privée pour gérer l'article dans le noeud
         */
        private Article HandleArticle(XmlNode node, Marque marque, SousFamille sousFamille)
        {
            //Reference de l'article
            String refArticle = node.ChildNodes[1].InnerText;
            //Description de l'article
            String description = node.ChildNodes[0].InnerText;
            //Prix de l'article
            float prixHT = float.Parse(node.ChildNodes[5].InnerText);

            //Recherche si l'article est déjà dans la base de données
            Article article = Article.FindArticle(databaseFileName, refArticle);

            if (article == null)
            {
                //Insertion de l'article
                article = new Article(refArticle, description, prixHT, 0, sousFamille.Ref_Sous_Famille, marque.Ref_Marque);
                Article.InsertArticle(databaseFileName, article);

                //Affiche d'un message de notification
                RegisterMessage("Article : " + refArticle + " is added.");
            }
            return(article);
        }