Example #1
0
        // METHODES DE MISE A JOUR DES VENTES
        //
        private void MettreVenteAJour(int codeVente)
        {
            using (CasaDBEntities db = new CasaDBEntities())
            {
                try
                {
                    EveVente vente = db.EveVentes.FirstOrDefault(v => v.CodeVente == codeVente);
                    EveEncaissementsVente encaissementVente = db.EveEncaissementsVentes.Where(v => v.CodeVente == codeVente).FirstOrDefault();


                    for (int i = 0; i < lvwPanier.Items.Count; i++)
                    {
                        string produit     = lvwPanier.Items[i].SubItems[0].Text;
                        string quantite    = lvwPanier.Items[i].SubItems[1].Text;
                        string montantText = lvwPanier.Items[i].SubItems[3].Text;
                        int    montant     = int.Parse(Conversion.EnleverEspaces(montantText));

                        if (ProduitDansLePanierInitial(codeVente, produit))
                        {
                            GestionVentes.MettreAJourVenteDUnProduit(codeVente, produit, quantite, montant.ToString());
                        }
                        else
                        {
                            GestionVentes.EnregistrerNouvelleVenteDUnProduit(codeVente, produit, quantite, montant.ToString());
                        }
                    }

                    var montantPaye = Conversion.EnleverEspaces(txtMontantPaye.Text);


                    if (IlYaEuEncaissementDeVente(codeVente))
                    {
                        int codeCompte = int.Parse(cbxListeComptes.SelectedValue.ToString());

                        if (encaissementVente.EveEncaissement.CodeCompte != codeCompte)
                        {
                            var encaissement = encaissementVente.EveEncaissement;
                            encaissement.CodeCompte = codeCompte;
                            db.SaveChanges();
                        }

                        // Le client a changé
                        if (int.Parse(cbxListeClients.SelectedValue.ToString()) != vente.CodeClient)
                        {
                            vente.CodeClient = int.Parse(cbxListeClients.SelectedValue.ToString());
                            db.SaveChanges();
                        }


                        if (Validation.VerifierChampsMontant(montantPaye))
                        {
                            if (MontantPaye(codeVente) != decimal.Parse(montantPaye))
                            {
                                GestionVentes.MettreEncaissementVenteAJour(codeVente, decimal.Parse(montantPaye), codeCompte);
                            }
                        }
                    }
                    else
                    {
                        if (Validation.VerifierChampsMontant(montantPaye) && decimal.Parse(montantPaye) > 0)
                        {
                            EveEncaissement encaisement = new EveEncaissement
                            {
                                CodeCompte  = int.Parse(cbxListeComptes.SelectedValue.ToString()),
                                CodeEmploye = 6, // Maimouna par defaut
                            };

                            db.EveEncaissements.Add(encaisement);

                            EveEncaissementsVente newEncaissement = new EveEncaissementsVente
                            {
                                DateEncaissement = dtpDateVente.Value.Date,
                                CodeVente        = vente.CodeVente,
                                CodeEncaissement = encaisement.CodeEncaissement,
                                CodeClient       = int.Parse(cbxListeClients.SelectedValue.ToString()),
                                MontantEncaisse  = decimal.Parse(montantPaye)
                            };

                            db.EveEncaissementsVentes.Add(newEncaissement);
                            db.SaveChanges();
                        }
                    }
                    MessageBox.Show("Transaction mise à jour.");
                }
                catch (Exception)
                {
                    MessageBox.Show("Erreur! La transaction n'a pas été mise à jour.");
                }
            }
        }
Example #2
0
        private void BtnEnregistrerVente_Click(object sender, EventArgs e)
        {
            int                  codeClient = int.Parse(cbxNomClient.SelectedValue.ToString());
            AgeClient            client     = db.AgeClients.FirstOrDefault(c => c.CodeClient == codeClient);
            AgeEmploye           resStock   = db.AgeEmployes.FirstOrDefault(rs => rs.PrenomNom == cbxResponsableStockPrdtsFinis.Text);
            AgeEmploye           tres       = db.AgeEmployes.FirstOrDefault(rv => rv.PrenomNom == cbxTres.Text);
            ResComptesTresorerie cpte       = db.ResComptesTresoreries.FirstOrDefault(cte => cte.NomCompte == cbxCompte.Text);

            try
            {
                var verifier = Convert.ToInt32(lblTotalFacture.Text) > 0;

                EveVente vente = new EveVente
                {
                    CodeClient  = client.CodeClient,
                    CodeEmploye = resStock.CodeEmploye,
                    DateVente   = DateTime.Parse(dtpDateVente.Text)
                };

                db.EveVentes.Add(vente);
                db.SaveChanges();

                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    //EnregistrerVenteDUnProduit(vente, listView1.Items[i]);
                    int    codeVente = vente.CodeVente;
                    string produit   = listView1.Items[i].SubItems[0].Text;
                    string quantite  = listView1.Items[i].SubItems[1].Text;
                    string montant   = listView1.Items[i].SubItems[3].Text;

                    GestionVentes.EnregistrerNouvelleVenteDUnProduit(codeVente, produit, quantite, montant);
                }

                int.TryParse(txtMontantEncaisse.Text, out int montantEncaisse);

                if (montantEncaisse > 0)
                {
                    EveEncaissement enc = new EveEncaissement
                    {
                        CodeEmploye = tres.CodeEmploye,
                        CodeCompte  = cpte.CodeCompte,
                    };

                    db.EveEncaissements.Add(enc);

                    EveEncaissementsVente encV = new EveEncaissementsVente
                    {
                        CodeClient       = client.CodeClient,
                        CodeEncaissement = enc.CodeEncaissement,
                        CodeVente        = vente.CodeVente,
                        MontantEncaisse  = montantEncaisse,
                        DateEncaissement = DateTime.Parse(dtpDateVente.Text)
                    };

                    db.EveEncaissementsVentes.Add(encV);
                    db.SaveChanges();
                }

                listView1.Items.Clear();
                lblTotalFacture.Text    = "";
                txtMontantEncaisse.Text = "0";
                MessageBox.Show("La vente a été enregistrée avec succès.");
            }
            catch (Exception)
            {
                MessageBox.Show("La vente n'a pas été enregistrée.");
                return;
            }
        }