/// <summary>
 ///  Cette methode permet d'ajout ou de modifier une sous famille après avoir cliqué sur le bouton ajouter / modifier
 /// </summary>
 /// <param name="sender">object qui envoie l'action </param>
 /// <param name="e">Evenement envoyé </param>
 /// <remarks>
 ///     Cette methode vérifie que tous les champs sont saisie par l'utilisateur
 ///     et choisie en fonction de l'attribut <see cref="RefSousFamile"/> si on ajoute ou modifie la sous famille
 ///     puis on ferme la fenetre
 /// </remarks>
 private void Button_Ajouter_Modifier_Click(object sender, EventArgs e)
 {
     if (String.IsNullOrEmpty(TextBox_NomSousFamille.Text) || String.IsNullOrEmpty(ComboBox_TypeFamille.Text))
     {
         MessageBox.Show(this, "Veillez remplir tous les champs !!!", "Erreur Insertion ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
     }
     else
     {
         InterfaceDB_Sous_Famille inter    = new InterfaceDB_Sous_Famille();
         InterfaceDB_Famille      interfam = new InterfaceDB_Famille();
         Famille famille = interfam.GetFamille(ComboBox_TypeFamille.Text);
         string  resultat;
         if (RefSousFamile == -1)//on ajoute
         {
             resultat = inter.InsererSousFamille(famille.NomFamille, TextBox_NomSousFamille.Text);
         }
         else // on modifie
         {
             resultat = inter.ModifierSousFamille(RefSousFamile, famille.RefFamille, TextBox_NomSousFamille.Text);
         }
         MessageBox.Show(this, resultat, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
         Reussi_ = true;
         this.Close();
     }
 }
 /// <summary>
 ///  Cette méthode permet d'initialiser l'interface graphique
 ///
 /// </summary>
 public void Init()
 {
     if (RefFamille == -1) // ajout
     {
     }
     else
     {
         // Initialise les champs correspondant à la reférence de la famille( cas d'une modification)
         InterfaceDB_Famille inter   = new InterfaceDB_Famille();
         Famille             famille = inter.GetFamille(RefFamille);
         TextBox_NomFamille.Text      = famille.NomFamille;
         Button_Ajouter_Modifier.Text = "Modifier";
     }
 }
Пример #3
0
        /// <summary>
        /// Cette methode permet de lire le contenu du fichier xml et mettre à jour les informations des articles dans la base de données
        /// </summary>
        /// <remarks>
        ///       Elle permet de :
        ///    -  Ouvre et lit  le fichier XML avec <see cref="XmlDocument"/>
        ///    -  Pour chaque noeud lu , elle met à jour un article avec les nouveaux éléments d'un fichier
        ///      - si la marque , la  famille et la sous famille existent alors l'action est faite directement
        ///      - sinon on cree l'objet puis on met à jour l'article
        ///    - Si l'article n'existe pas avant dans la base de données alors il est crée
        /// </remarks>
        private void FileMisejour()
        {
            Article                  articleMisejour;
            Marque                   marqueMisejour;
            Famille                  familleMisejour;
            SousFamille              sousfamilleMisejour;
            InterfaceDB_Articles     interArticle     = new InterfaceDB_Articles();
            InterfaceDB_Marque       interMarque      = new InterfaceDB_Marque();
            InterfaceDB_Famille      interfamille     = new InterfaceDB_Famille();
            InterfaceDB_Sous_Famille interSousfamille = new InterfaceDB_Sous_Famille();

            int         increment   = 0;
            XmlDocument documentXml = new XmlDocument();

            this.NomFicherXML = this.Ouvrir_XML_Fichier.FileName;
            documentXml.Load(this.NomFicherXML);

            foreach (XmlNode enregistrement in documentXml.DocumentElement)
            {
                string descriptionActicle = enregistrement.SelectSingleNode("description").InnerText;
                string refArticle         = enregistrement.SelectSingleNode("refArticle").InnerText;
                double prixArticle        = Double.Parse(enregistrement.SelectSingleNode("prixHT").InnerText);
                int    quantiteArticle    = 1;

                string nomSousfamille = enregistrement.SelectSingleNode("sousFamille").InnerText;
                string nomfamille     = enregistrement.SelectSingleNode("famille").InnerText;
                string nomMarque      = enregistrement.SelectSingleNode("marque").InnerText;

                /**
                 * La marque
                 * */
                marqueMisejour = interMarque.GetMarque(nomMarque);
                if (marqueMisejour == null)
                {
                    ResultatErreur = interMarque.InsererMarque(nomMarque);
                    TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
                    marqueMisejour = interMarque.GetMarque(nomMarque);
                }

                /**
                 * La famille
                 */
                familleMisejour = interfamille.GetFamille(nomfamille);
                if (familleMisejour == null)
                {
                    ResultatErreur = interfamille.InsererFamille(nomfamille);
                    TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
                    familleMisejour = interfamille.GetFamille(nomfamille);
                }

                /**
                 * La sous famille
                 * */
                sousfamilleMisejour = interSousfamille.GetSousFamille(nomSousfamille);
                if (sousfamilleMisejour == null)
                {
                    ResultatErreur = interSousfamille.InsererSousFamille(nomfamille, nomSousfamille);
                    TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
                    sousfamilleMisejour = interSousfamille.GetSousFamille(nomSousfamille);
                }
                else
                {
                    if (sousfamilleMisejour.MaFamille.RefFamille != familleMisejour.RefFamille)
                    {
                        ResultatErreur = interSousfamille.ModifierSousFamille(sousfamilleMisejour.RefSousFamille, familleMisejour.RefFamille, sousfamilleMisejour.NomSousFamille);
                        TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
                    }
                }

                /**
                 * L'article
                 * */

                articleMisejour = interArticle.GetArticle(refArticle);
                if (articleMisejour == null)
                {
                    ResultatErreur = interArticle.InsererArticle(refArticle, descriptionActicle, sousfamilleMisejour.RefSousFamille, marqueMisejour.RefMarque, prixArticle, quantiteArticle);
                    TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
                }
                else
                {
                    ResultatErreur = interArticle.ModifierArticle(refArticle, descriptionActicle, sousfamilleMisejour.RefSousFamille, marqueMisejour.RefMarque, prixArticle, quantiteArticle);
                    TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
                }
                increment++;
                Travail_En_Arriere_Plan.ReportProgress(increment);
            }
            Reussi_ = 2; // Mise à jour reussie
        }