예제 #1
0
        /// <summary>
        ///  Cette methode permet de fermer l'application et de se deconnecter de la base de données
        /// </summary>
        private void QuitterApplication()
        {
            DialogResult reponse = MessageBox.Show("Voulez-vous vraiment quitté ? ", "Information", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

            if (reponse == DialogResult.OK)
            {
                InterfaceDB.Deconnection();
                this.Close();
            }
        }
예제 #2
0
        /// <summary>
        /// Cette methode permet de lire le contenu du fichier xml et inserer dans la base de données
        /// </summary>
        /// <remarks>
        ///    -  Elle supprime en premier lieu , toutes les tuples qui se trouvent dans les différents tables de la base de données
        ///    -  Puis ouvre et lit  le fichier XML avec <see cref="XmlDocument"/>
        ///    -  Pour chaque noeud lu , elle cree une marque , une famille , une sous famille puis un article si ils existent pas déjà
        /// </remarks>
        private void FileIntegration()
        {
            int         increment   = 0;
            XmlDocument documentXml = new XmlDocument();

            /**
             * Suppression des tables de la base de données
             * */
            ResultatErreur = InterfaceDB.SupprimerToutTable("Articles");
            TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
            ResultatErreur = InterfaceDB.SupprimerToutTable("Familles");
            TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
            ResultatErreur = InterfaceDB.SupprimerToutTable("SousFamilles");
            TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
            ResultatErreur = InterfaceDB.SupprimerToutTable("Marques");
            TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);


            /**
             * Lecture des Elements dans le fichier xml choisie
             * */
            this.NomFicherXML = this.Ouvrir_XML_Fichier.FileName;
            documentXml.Load(this.NomFicherXML);

            foreach (XmlNode enregistrement in documentXml.DocumentElement)
            {
                /**
                 * Pour chaque noeud je recupère les élements d'un article
                 * En creer la marque , la famille , la sous famille puis l'article
                 */

                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;

                /**
                 * L'ordre  d'insertion est importante
                 */

                InterfaceDB_Marque marque = new InterfaceDB_Marque();
                ResultatErreur = marque.InsererMarque(nomMarque);
                TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);


                InterfaceDB_Famille famille = new InterfaceDB_Famille();
                ResultatErreur = famille.InsererFamille(nomfamille);
                TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);

                InterfaceDB_Sous_Famille sousfamille = new InterfaceDB_Sous_Famille();
                ResultatErreur = sousfamille.InsererSousFamille(nomfamille, nomSousfamille);
                TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);

                Marque      marqueArticle      = marque.GetMarque(nomMarque);
                SousFamille sousFamilleArticle = sousfamille.GetSousFamille(nomSousfamille);



                if (marqueArticle != null && sousFamilleArticle != null)
                {
                    InterfaceDB_Articles article = new InterfaceDB_Articles();
                    ResultatErreur = article.InsererArticle(refArticle, descriptionActicle, sousFamilleArticle.RefSousFamille, marqueArticle.RefMarque, prixArticle, quantiteArticle);
                    TextBox_Affichage_ResultatEtErreurs.Invoke(new AjouterFinLigneResultatErreurs(ChangerResultat), ResultatErreur);
                }

                increment++;
                Travail_En_Arriere_Plan.ReportProgress(increment);
            }
            Reussi_ = 1; // Integration reussie
        }
예제 #3
0
 /// <summary>
 ///  Cette methode de se déconnecter à la base de données lors de la fermeture de l'application
 /// </summary>
 /// <param name="sender">object qui envoie l'action </param>
 /// <param name="e">Evenement envoyé </param>
 private void ApplicatioCentrale_FormClosing(object sender, FormClosingEventArgs e)
 {
     InterfaceDB.Deconnection();
 }