示例#1
0
        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();
            }
        }
示例#2
0
 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();
     }
 }
示例#3
0
        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();
            }
        }