/// <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"; } }
/// <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 }