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