public static void calculer(int devisN) { try { Conteneur.conn.Open(); SqlDataReader sdr = Produit.select(devisN: devisN); int quantite = 0; float total = 0; while (sdr.Read()) { int qteProd = Convert.ToInt32(sdr["Quantite"]); quantite += qteProd; total += qteProd * Convert.ToInt32(sdr["Prix"]); } Console.WriteLine(devisN); Console.WriteLine(quantite); Console.WriteLine(total); sdr.Close(); SqlCommand cmd = Conteneur.conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = $"update Devis set Quantite={quantite}, Total=TRY_PARSE('{total.ToString().Replace(',', '.')}' as float using 'en-US') where DevisN={devisN}"; cmd.ExecuteNonQuery(); Devis devis = Conteneur.getInstanceDevis(); if (devis != null) { devis.load_metroGrid(); } } catch (Exception e) { MetroFramework.MetroMessageBox.Show(Conteneur.conteneur, "La modification des champs Quantite et Total du devis est echouée", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Conteneur.conn.Close(); } }
private void buttonSupprimer_Click(object sender, EventArgs e) { reset_formulaire(); try { int idproduit = Convert.ToInt32(this.metroGrid.CurrentRow.Cells[0].Value.ToString()); int devisN = Convert.ToInt32(this.metroGrid.CurrentRow.Cells[5].Value.ToString()); delete(idproduit); Devis.calculer(devisN); } catch (Exception ex) { Console.WriteLine(ex.Message); MetroFramework.MetroMessageBox.Show(Conteneur.conteneur, "La suppression n'a pas été effectuée.", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { load_metroGrid(); } }
private void buttonAjouterModifier_Click(object sender, EventArgs e) { this.devisNTextErreur.Visible = false; this.designationTextErreur.Visible = false; this.quantiteTextErreur.Visible = false; this.prixTextErreur.Visible = false; this.referenceTextErreur.Visible = false; bool erreur = false; string designation = designationText.Text; if (designation == "") { this.designationTextErreur.Visible = true; erreur = true; } string reference = referenceText.Text; if (reference == "") { this.referenceTextErreur.Visible = true; erreur = true; } int quantite = 0; if (quantiteText.Text == "" || (quantite = Convert.ToInt32(quantiteText.Text)) <= 0) { this.quantiteTextErreur.Visible = true; erreur = true; } float prix = 0; if (prixText.Text == "" || (prix = Convert.ToSingle(prixText.Text.Replace('.', ','))) <= 0) { this.prixTextErreur.Visible = true; erreur = true; } string date = dateText.Value.Date.ToString("yyyyMMdd"); int devisN = Convert.ToInt32(this.devisNText.SelectedValue); if (devisN == 0) { this.devisNTextErreur.Visible = true; erreur = true; } if (!erreur) { if (this.devisNText.Enabled) { insert(devisN, designation, reference, quantite, prix, date); } else { int idproduit = Convert.ToInt32(this.metroGrid.CurrentRow.Cells[0].Value.ToString()); update(idproduit, designation, reference, quantite, prix, date); } Devis.calculer(devisN); this.metroPanelFormulaire.Visible = false; this.buttonAjouter.Enabled = true; this.metroGrid.Enabled = true; this.devisNText.Enabled = true; load_metroGrid(); } }