From 0852605c42f5f53b7e5fa35e4e5776fb1f3f1651 Mon Sep 17 00:00:00 2001 From: Erwann PHILIPPE Date: Thu, 26 Mar 2026 10:05:24 +0100 Subject: [PATCH] Corrections diverses --- .../view/FrmMediatek.Designer.cs | 18 +-- MediaTekDocuments/view/FrmMediatek.cs | 114 +++++++++++++++--- MediaTekDocuments/view/FrmMediatek.resx | 3 - 3 files changed, 104 insertions(+), 31 deletions(-) diff --git a/MediaTekDocuments/view/FrmMediatek.Designer.cs b/MediaTekDocuments/view/FrmMediatek.Designer.cs index 2abffa9..bdf534b 100644 --- a/MediaTekDocuments/view/FrmMediatek.Designer.cs +++ b/MediaTekDocuments/view/FrmMediatek.Designer.cs @@ -254,7 +254,7 @@ namespace MediaTekDocuments.view this.label76 = new System.Windows.Forms.Label(); this.label77 = new System.Windows.Forms.Label(); this.dgvDvd = new System.Windows.Forms.DataGridView(); - this.textBox2 = new System.Windows.Forms.TextBox(); + this.txtRechercheDvd = new System.Windows.Forms.TextBox(); this.label78 = new System.Windows.Forms.Label(); this.tabOngletsApplication.SuspendLayout(); this.tabLivres.SuspendLayout(); @@ -2322,6 +2322,7 @@ namespace MediaTekDocuments.view this.btnDeleteCommandeDvd.TabIndex = 9; this.btnDeleteCommandeDvd.Text = "Supprimer"; this.btnDeleteCommandeDvd.UseVisualStyleBackColor = true; + this.btnDeleteCommandeDvd.Click += new System.EventHandler(this.btnDeleteCommandeDvd_Click); // // btnCreateCommandeDvd // @@ -2608,7 +2609,7 @@ namespace MediaTekDocuments.view this.grpDvdCommande.Controls.Add(this.label76); this.grpDvdCommande.Controls.Add(this.label77); this.grpDvdCommande.Controls.Add(this.dgvDvd); - this.grpDvdCommande.Controls.Add(this.textBox2); + this.grpDvdCommande.Controls.Add(this.txtRechercheDvd); this.grpDvdCommande.Controls.Add(this.label78); this.grpDvdCommande.Location = new System.Drawing.Point(8, 6); this.grpDvdCommande.Name = "grpDvdCommande"; @@ -2626,6 +2627,7 @@ namespace MediaTekDocuments.view this.btnRechercheDvd.TabIndex = 6; this.btnRechercheDvd.Text = "Rechercher"; this.btnRechercheDvd.UseVisualStyleBackColor = true; + this.btnRechercheDvd.Click += new System.EventHandler(this.btnRechercheDvd_Click); // // dgvCommandesDvd // @@ -2670,12 +2672,12 @@ namespace MediaTekDocuments.view this.dgvDvd.TabIndex = 2; this.dgvDvd.SelectionChanged += new System.EventHandler(this.dgvDvd_SelectionChanged); // - // textBox2 + // txtRechercheDvd // - this.textBox2.Location = new System.Drawing.Point(148, 17); - this.textBox2.Name = "textBox2"; - this.textBox2.Size = new System.Drawing.Size(100, 20); - this.textBox2.TabIndex = 1; + this.txtRechercheDvd.Location = new System.Drawing.Point(148, 17); + this.txtRechercheDvd.Name = "txtRechercheDvd"; + this.txtRechercheDvd.Size = new System.Drawing.Size(100, 20); + this.txtRechercheDvd.TabIndex = 1; // // label78 // @@ -2949,7 +2951,7 @@ namespace MediaTekDocuments.view private System.Windows.Forms.Label label76; private System.Windows.Forms.Label label77; private System.Windows.Forms.DataGridView dgvDvd; - private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.TextBox txtRechercheDvd; private System.Windows.Forms.Label label78; private System.Windows.Forms.GroupBox grpInfosDvd; private System.Windows.Forms.TextBox txtDureeDvd; diff --git a/MediaTekDocuments/view/FrmMediatek.cs b/MediaTekDocuments/view/FrmMediatek.cs index 6fee920..4f7944e 100644 --- a/MediaTekDocuments/view/FrmMediatek.cs +++ b/MediaTekDocuments/view/FrmMediatek.cs @@ -1437,7 +1437,7 @@ namespace MediaTekDocuments.view private void deleteCommande(CommandeDocument commande) { - if(commande.LibelleSuivi == "Livrée" || commande.LibelleSuivi == "Réglée" || commande.LibelleSuivi == "Relancée") + if (commande.LibelleSuivi == "Livrée" || commande.LibelleSuivi == "Réglée" || commande.LibelleSuivi == "Relancée") { MessageBox.Show("Suppression impossible : une commande livrée ou soldée ne peut plus être supprimée.", "Information"); return; @@ -1473,13 +1473,13 @@ namespace MediaTekDocuments.view private void btnCreateCommande_Click(object sender, EventArgs e) { DateTime dateCommande = dateTimeCommande.Value; - double montantCommande = (double) updownMontant.Value; - int nbExemplaire = (int) updownNbExemplaire.Value; + double montantCommande = (double)updownMontant.Value; + int nbExemplaire = (int)updownNbExemplaire.Value; int suivi = cboSuivi.SelectedIndex + 1; string nextId = controller.GetNextCommandeId(); string idLivreDvd = dgvListeLivre2.CurrentRow.Cells["Id"].Value.ToString(); - if(btnCreateCommande.Text == "Ajouter") + if (btnCreateCommande.Text == "Ajouter") { createCommande(dateCommande, montantCommande, nbExemplaire, suivi, nextId, idLivreDvd); } @@ -1513,7 +1513,7 @@ namespace MediaTekDocuments.view cboSuivi.SelectedIndex = indexEtatActuel; return; } - if (indexNouveauSuivi == 3 && indexEtatActuel < 2) + if (indexNouveauSuivi == 3 && indexEtatActuel < 2 || indexNouveauSuivi == 4 && indexEtatActuel < 2) { MessageBox.Show("Action impossible : une commande doit être livrée avant d'être réglée.", "Règle de gestion"); cboSuivi.SelectedIndex = indexEtatActuel; @@ -1616,6 +1616,7 @@ namespace MediaTekDocuments.view private void btnCreateCommandeDvd_Click(object sender, EventArgs e) { + btnDeleteCommandeDvd.Enabled = false; DateTime dateCommande = dateTimeCommandeDvd.Value; double montantCommande = (double)updownMontantDvd.Value; int nbExemplaire = (int)updownNbDvd.Value; @@ -1639,6 +1640,12 @@ namespace MediaTekDocuments.view { CommandeDocument commandeSelectionnee = (CommandeDocument)dgvCommandesDvd.CurrentRow.DataBoundItem; modifCommande(suivi, commandeSelectionnee); + Dvd dvd = (Dvd)bdgDvdListe.List[bdgDvdListe.Position]; + List lesCommandes = controller.GetCommandesDocument(dvd.Id); + List lesCommandesTriees = lesCommandes + .OrderByDescending(c => c.DateCommande) + .ToList(); + RemplirCommandesDvdListe(lesCommandesTriees); } } } @@ -1648,6 +1655,7 @@ namespace MediaTekDocuments.view DataGridView.HitTestInfo hit = dgvCommandesDvd.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None || hit.Type == DataGridViewHitTestType.ColumnHeader) { + btnDeleteCommandeDvd.Enabled = false; dgvCommandesDvd.ClearSelection(); dgvCommandesDvd.CurrentCell = null; ViderZonesSaisieCommandeDvd(); @@ -1656,28 +1664,19 @@ namespace MediaTekDocuments.view private void dgvCommandesDvd_SelectionChanged(object sender, EventArgs e) { - if (dgvCommandesDvd.CurrentCell != null) + if (dgvCommandesDvd.CurrentRow != null) { + CommandeDocument commandeDocument = (CommandeDocument)dgvCommandesDvd.CurrentRow.DataBoundItem; dateTimeCommandeDvd.Enabled = false; updownMontantDvd.Enabled = false; updownNbDvd.Enabled = false; cboSuiviDvd.Enabled = true; + btnDeleteCommandeDvd.Enabled = true; btnCreateCommandeDvd.Text = "Modifier"; - CommandeDocument commandeDocument = (CommandeDocument)dgvCommandesDvd.CurrentRow.DataBoundItem; - updownMontantDvd.Value = Convert.ToDecimal(dgvCommandesDvd.CurrentRow.Cells["Montant"].Value); - updownNbDvd.Value = Convert.ToDecimal(dgvCommandesDvd.CurrentRow.Cells["NbExemplaire"].Value); - string etape = commandeDocument.LibelleSuivi; - cboSuivi.SelectedIndex = cboSuivi.FindStringExact(etape); - - Dvd dvd = (Dvd)bdgDvdListe.List[bdgDvdListe.Position]; - List lesCommandes = controller.GetCommandesDocument(dvd.Id); - List lesCommandesTriees = lesCommandes - .OrderByDescending(c => c.DateCommande) - .ToList(); - dgvCommandes.SelectionChanged -= dgvCommandes_SelectionChanged; - RemplirCommandesListe(lesCommandesTriees); - dgvCommandes.SelectionChanged += dgvCommandes_SelectionChanged; + updownMontantDvd.Value = Convert.ToDecimal(commandeDocument.Montant); + updownNbDvd.Value = Convert.ToDecimal(commandeDocument.NbExemplaire); + cboSuiviDvd.SelectedIndex = cboSuiviDvd.FindStringExact(commandeDocument.LibelleSuivi); } else { @@ -1698,5 +1697,80 @@ namespace MediaTekDocuments.view btnCreateCommandeDvd.Text = "Ajouter"; groupBox2.Text = "Nouvelle commande"; } + + private void btnRechercheDvd_Click(object sender, EventArgs e) + { + if (!txtRechercheDvd.Text.Equals("")) + { + Dvd dvd = lesDvd.Find(x => x.Id.Equals(txtRechercheDvd.Text)); + if (dvd != null) + { + afficheDvdInfos(dvd); + List lesCommandes = controller.GetCommandesDocument(dvd.Id); + List lesCommandesTriees = lesCommandes + .OrderByDescending(c => c.DateCommande) + .ToList(); + RemplirCommandesDvdListe(lesCommandesTriees); + RemplirDvdListe(new List { dvd }); + } + else + { + MessageBox.Show("Numéro de DVD introuvable."); + RemplirCommandesDvdListe(new List()); + } + } + else + { + RemplirDvdListe(lesDvd); + RemplirCommandesDvdListe(new List()); + } + } + + private void btnDeleteCommandeDvd_Click(object sender, EventArgs e) + { + if (dgvCommandesDvd.CurrentCell != null && dgvCommandesDvd.CurrentCell != null) + { + string id = dgvCommandesDvd.CurrentRow.Cells["Id"].Value.ToString(); + string commandeId = dgvCommandesDvd.CurrentRow.Cells["id"].Value.ToString(); + CommandeDocument commande = (CommandeDocument)dgvCommandesDvd.CurrentRow.DataBoundItem; + btnDeleteCommandeDvd.Enabled = false; + + deleteCommandeDvd(commande); + } + } + + private void deleteCommandeDvd(CommandeDocument commande) + { + if (commande.LibelleSuivi == "Livrée" || commande.LibelleSuivi == "Réglée" || commande.LibelleSuivi == "Relancée") + { + MessageBox.Show("Suppression impossible : une commande livrée ou soldée ne peut plus être supprimée.", "Information"); + return; + } + + if (MessageBox.Show($"Voulez-vous vraiment supprimer la commande n°{commande.Id} ?", + "Confirmation de suppression", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + if (controller.SupprimerCommandeDocument(commande)) + { + if (dgvDvd.CurrentRow != null) + { + Dvd dvd = (Dvd)bdgDvdListe.List[bdgDvdListe.Position]; + afficheDvdInfos(dvd); + List lesCommandes = controller.GetCommandesDocument(dvd.Id); + List lesCommandesTriees = lesCommandes + .OrderByDescending(c => c.DateCommande) + .ToList(); + + RemplirCommandesDvdListe(lesCommandesTriees); + } + + MessageBox.Show("Commande supprimée avec succès."); + } + else + { + MessageBox.Show("Une erreur technique est survenue lors de la suppression sur le serveur."); + } + } + } } } diff --git a/MediaTekDocuments/view/FrmMediatek.resx b/MediaTekDocuments/view/FrmMediatek.resx index 70ff217..9c70bc2 100644 --- a/MediaTekDocuments/view/FrmMediatek.resx +++ b/MediaTekDocuments/view/FrmMediatek.resx @@ -120,7 +120,4 @@ True - - True - \ No newline at end of file