/// <summary> /// Methode permettant de vérifier si les champs sont bien remplis avant la modification de la facture /// </summary> private void FactureEnEdition_AvantChangement(FactureVente Entite, FactureVente.Champs Champ, object ValeurActuelle, object NouvelleValeur, AccumulateurErreur AccumulateurErreur) { switch (Champ) { case FactureVente.Champs.RemiseSurReprise: int Remise = 0; if ((listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null) && (NouvelleValeur.ToString() != "")) { if (int.TryParse(textBoxRemise.Text, out Remise)) { if ((listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null) && (int.Parse(textBoxRemise.Text) < 0) || (int.Parse(textBoxRemise.Text) > listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente.PrixTotal)) { AccumulateurErreur.NotifierErreur(string.Format("La remise doit être comprise entre 1 € et {0} €", listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente.PrixTotal)); } } else { AccumulateurErreur.NotifierErreur(string.Format("La remise doit être comprise entre 1 € et {0} €", listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente.PrixTotal)); } } break; default: break; } }
private bool ChargerFactureVente() { if (Id <= 0) { return(false); } m_FactureVente = EnumererFactureVente().ElementAt(0); return(true); }
private IEnumerable <FactureVente> EnumererFactureVente() { if (Connexion == null) { Connexion = Program.GMBD.BD; } return(FactureVente.Enumerer(Connexion, Connexion.Enumerer(@"SELECT * FROM facture_vente JOIN vehicule_vente ON facture_vente.fk_id_vehicule_vente = vehicule_vente.id_vehicule_vente JOIN client ON facture_vente.fk_id_client = client.id_client JOIN employe ON facture_vente.fk_id_employe = employe.id_employe WHERE facture_vente.fk_id_vehicule_vente = {0}", Id))); }
/// <summary> /// Methode permettant de réagir sur l'erreur d'une édition d'une facture /// </summary> private void FactureVenteEnEdition_SurErreur(FactureVente Entite, FactureVente.Champs Champ, string MessageErreur) { switch (Champ) { case FactureVente.Champs.PourcentageTva: errorProvider.SetError(numericUpDownTVA, MessageErreur); break; case FactureVente.Champs.RemiseSurReprise: errorProvider.SetError(textBoxRemise, MessageErreur); break; } }
/// <summary> /// Constructeur par défaut /// </summary> public VehiculeVente() : base() { m_AnneeConstruction = -1; m_DateArrivee = DateTime.MaxValue; m_DateMiseEnCirculation = DateTime.MaxValue; m_DateCommande = DateTime.MaxValue; m_Kilometrage = -1; m_PrixTotal = -1.0; m_NumeroChassis = null; m_StatutLivraison = null; m_Vehicule = null; m_ChoixOptionVehicule = null; m_ChoixPackVehicule = null; m_FactureVente = null; }
private void buttonAcheter_Click(object sender, EventArgs e) { errorProvider.Clear(); ValidationProvider.Clear(); VehiculeVente VehiculeExiste = Program.GMBD.EnumererVehiculeVente(null, new PDSGBD.MyDB.CodeSql("JOIN vehicule ON vehicule_vente.fk_id_vehicule = vehicule.id_vehicule"), new PDSGBD.MyDB.CodeSql("WHERE id_vehicule_vente = {0}", m_Id), null).FirstOrDefault(); if (VehiculeExiste != null) { if (formulaire_Client1.ClientEnCoursDeTraitement != null) { // Si un véhicule a été repris, une indication de prix sur la reprise du véhicule doit être indiquée et le véhicule ne sera plus actif pour ce client. if (listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null) { int DernierId = -1; IEnumerable <FactureVente> ListeDesFactures = Program.GMBD.EnumererFactureVente(null, null, null, null); if (ListeDesFactures.Count() == 0) { DernierId = 1; } else { DernierId = ListeDesFactures.Last().Id; } // On enregistrement le nouveau véhicule du client ClientVehicule VehiculeAcheterParLeClient = new ClientVehicule(); VehiculeAcheterParLeClient.NumeroChassis = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)).NumeroChassis; VehiculeAcheterParLeClient.VehiculeActif = 1; VehiculeAcheterParLeClient.Immatriculation = ""; VehiculeAcheterParLeClient.Vehicule = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)).Vehicule; VehiculeAcheterParLeClient.Client = formulaire_Client1.AccesALaListeClient.Client.FirstOrDefault(); if ((VehiculeAcheterParLeClient.EstValide) && (Program.GMBD.AjouterClientVehicule(VehiculeAcheterParLeClient))) { // On enregistre la facture FactureVente NouvelleFactureDeVente = new FactureVente(); NouvelleFactureDeVente.Client = formulaire_Client1.ClientEnCoursDeTraitement; NouvelleFactureDeVente.Employe = Form_Principal.Employe; NouvelleFactureDeVente.VehiculeVente = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)); NouvelleFactureDeVente.PourcentageTva = int.Parse(numericUpDownTVA.Value.ToString()); double remise = 0; if (double.TryParse(textBoxRemise.Text, out remise)) { NouvelleFactureDeVente.RemiseSurReprise = remise; } else { NouvelleFactureDeVente.RemiseSurReprise = 0; } NouvelleFactureDeVente.DateVente = DateTime.Now; NouvelleFactureDeVente.NumeroFacture = string.Format("{0}-{1}", DateTime.Now.Year, DernierId + 1); if ((NouvelleFactureDeVente.EstValide) && (Program.GMBD.AjouterNouvelleFactureVente(NouvelleFactureDeVente))) { if (listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null) { ClientVehicule VehiculeADesactiver = listeDeroulanteClientVehicule1.ClientVehiculeSelectionne; VehiculeADesactiver.VehiculeActif = 0; if ((VehiculeADesactiver.EstValide) && (Program.GMBD.ModifierClientVehicule(VehiculeADesactiver))) { VehiculeExiste.StatutLivraison = Program.GMBD.EnumererStatut(null, null, new PDSGBD.MyDB.CodeSql("WHERE statut = \"Vendu\""), null).FirstOrDefault(); if ((VehiculeExiste.EstValide) && (Program.GMBD.ModifierVehiculeVente(VehiculeExiste))) { GenerationFacturePDF NouvelleFacturePDF = new GenerationFacturePDF(); NouvelleFacturePDF.GenerationFactureVente(NouvelleFactureDeVente); ValidationProvider.SetError(buttonAcheter, "Achat correctement effectué"); } } ActualiserApresAchat(); ActualiserListeVehiculeDispo(); } } else { Program.GMBD.SupprimerClientVehicule(VehiculeAcheterParLeClient); } } } // Sinon l'acheteur ne revend pas de véhicule à la concession donc un traitement simple sera effectué else { int DernierId = -1; IEnumerable <FactureVente> ListeDesFactures = Program.GMBD.EnumererFactureVente(null, null, null, null); if (ListeDesFactures.Count() == 0) { DernierId = 1; } else { DernierId = ListeDesFactures.Last().Id; } ClientVehicule VehiculeAcheterParLeClient = new ClientVehicule(); VehiculeAcheterParLeClient.NumeroChassis = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)).NumeroChassis; VehiculeAcheterParLeClient.VehiculeActif = 1; VehiculeAcheterParLeClient.Immatriculation = ""; VehiculeAcheterParLeClient.Vehicule = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)).Vehicule; VehiculeAcheterParLeClient.Client = formulaire_Client1.AccesALaListeClient.Client.FirstOrDefault(); if ((VehiculeAcheterParLeClient.EstValide) && (Program.GMBD.AjouterClientVehicule(VehiculeAcheterParLeClient))) { FactureVente NouvelleFactureDeVente = new FactureVente(); NouvelleFactureDeVente.Client = formulaire_Client1.ClientEnCoursDeTraitement; NouvelleFactureDeVente.Employe = Form_Principal.Employe; NouvelleFactureDeVente.VehiculeVente = ListeVehiculeDispo.First(item => item.Id == int.Parse(m_Id)); NouvelleFactureDeVente.PourcentageTva = int.Parse(numericUpDownTVA.Value.ToString()); NouvelleFactureDeVente.RemiseSurReprise = 0; NouvelleFactureDeVente.DateVente = DateTime.Now; NouvelleFactureDeVente.NumeroFacture = string.Format("{0}-{1}", DateTime.Now.Year, DernierId + 1); if ((NouvelleFactureDeVente.EstValide) && (Program.GMBD.AjouterNouvelleFactureVente(NouvelleFactureDeVente))) { VehiculeExiste.StatutLivraison = Program.GMBD.EnumererStatut(null, null, new PDSGBD.MyDB.CodeSql("WHERE statut = \"Vendu\""), null).FirstOrDefault(); if ((VehiculeExiste.EstValide) && (Program.GMBD.ModifierVehiculeVente(VehiculeExiste))) { ActualiserApresAchat(); ActualiserListeVehiculeDispo(); GenerationFacturePDF NouvelleFacturePDF = new GenerationFacturePDF(); NouvelleFacturePDF.GenerationFactureVente(NouvelleFactureDeVente); } } else { Program.GMBD.SupprimerClientVehicule(VehiculeAcheterParLeClient); } } } } else { errorProvider.SetError(buttonAcheter, "Veuillez choisir un client"); } } else { errorProvider.SetError(buttonAcheter, "Ce véhicule n'existe plus, veuillez en choisir un autre"); } }
/// <summary> /// Se produit lors du click sur le bouton d'impression d'une facture /// </summary> private void buttonImprimerFacture_Click(object sender, EventArgs e) { errorProvider.Clear(); FactureVente FactureAModifier = listeDeroulanteFactureVente1.FactureVenteSelectionne; FactureAModifier.SurErreur += FactureVenteEnEdition_SurErreur; FactureAModifier.AvantChangement += FactureEnEdition_AvantChangement; int Remise = 0; if (listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null) { if (string.IsNullOrWhiteSpace(textBoxRemise.Text)) { FactureAModifier.RemiseSurReprise = 0; } else if (int.TryParse(textBoxRemise.Text, out Remise)) { if (Remise > 0) { FactureAModifier.RemiseSurReprise = Remise; } } else { FactureAModifier.RemiseSurReprise = double.MaxValue; } } else { FactureAModifier.RemiseSurReprise = 0; } FactureAModifier.Client = listeDeroulanteFactureVente1.FactureVenteSelectionne.Client; FactureAModifier.DateVente = DateTime.Now; FactureAModifier.PourcentageTva = int.Parse(numericUpDownTVA.Value.ToString()); if (FactureAModifier.EstValide && Program.GMBD.ModifierFactureVente(FactureAModifier)) { VehiculeVente VehiculeVenteAModifier = listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente; VehiculeVenteAModifier.SurErreur += VehiculeVenteEnEdition_SurErreur; VehiculeVenteAModifier.AvantChangement += VehiculeVenteEnEdition_AvantChangement; VehiculeVenteAModifier.DateArrivee = dateTimePickerDateReception.Value; VehiculeVenteAModifier.DateMiseEnCirculation = DateTime.Now; VehiculeVenteAModifier.Kilometrage = int.Parse(numericUpDownKilometrage.Value.ToString()); VehiculeVenteAModifier.NumeroChassis = textBoxNumChassis.Text; VehiculeVenteAModifier.AnneeConstruction = int.Parse(numericUpDownAnneeConstruction.Value.ToString()); VehiculeVenteAModifier.StatutLivraison = Program.GMBD.EnumererStatut(null, null, new PDSGBD.MyDB.CodeSql("WHERE statut = \"Vendu\""), null).FirstOrDefault(); if (VehiculeVenteAModifier.EstValide && Program.GMBD.ModifierVehiculeVente(VehiculeVenteAModifier)) { ClientVehicule NouveauClientVehicule = new ClientVehicule(); NouveauClientVehicule.Client = listeDeroulanteFactureVente1.FactureVenteSelectionne.Client; NouveauClientVehicule.VehiculeActif = 1; NouveauClientVehicule.Vehicule = listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente.Vehicule; NouveauClientVehicule.NumeroChassis = listeDeroulanteFactureVente1.FactureVenteSelectionne.VehiculeVente.NumeroChassis; NouveauClientVehicule.Immatriculation = ""; if (NouveauClientVehicule.EstValide && Program.GMBD.AjouterClientVehicule(NouveauClientVehicule)) { if (listeDeroulanteClientVehicule1.ClientVehiculeSelectionne != null) { ClientVehicule VehiculeReprisParLaConcession = listeDeroulanteClientVehicule1.ClientVehiculeSelectionne; VehiculeReprisParLaConcession.VehiculeActif = 0; if ((VehiculeReprisParLaConcession.EstValide) && (Program.GMBD.ModifierClientVehicule(VehiculeReprisParLaConcession))) { RefreshPage(); GenerationFacturePDF FacturationPDF = new GenerationFacturePDF(); FacturationPDF.GenerationFactureVente(FactureAModifier); listeDeroulanteFactureVente1.FactureVenteSelectionne = null; } } else { RefreshPage(); GenerationFacturePDF FacturationPDF = new GenerationFacturePDF(); FacturationPDF.GenerationFactureVente(FactureAModifier); listeDeroulanteFactureVente1.FactureVenteSelectionne = null; } } } } }
public Element(FactureVente FactureVente) { this.FactureVente = FactureVente; }
/// <summary> /// Met à jour la listview des FactureVentes et y insére les elements /// </summary> /// <typeparam name="T"></typeparam> /// <param name="Entites"></param> /// <returns></returns> private bool MettreAJourListe <T>(IEnumerable <T> Entites) where T : class, IEntiteMySQL { bool EstFactureVente = typeof(T).Equals(typeof(FactureVente)); if (!EstFactureVente) { return(false); } listViewFactureVente.Items.Clear(); if (Entites == null) { return(false); } if (EstFactureVente && (listViewFactureVente.Columns.Count != 2)) { listViewFactureVente.Columns.Clear(); listViewFactureVente.Columns.Add(new ColumnHeader() { Name = "Prenom", Text = "Prénom", TextAlign = HorizontalAlignment.Center, }); listViewFactureVente.Columns.Add(new ColumnHeader() { Name = "Nom", Text = "Nom", TextAlign = HorizontalAlignment.Center, }); listViewFactureVente.Columns.Add(new ColumnHeader() { Name = "NumeroFacture", Text = "Numéro de facture", TextAlign = HorizontalAlignment.Center, }); listViewFactureVente.Columns.Add(new ColumnHeader() { Name = "Modele", Text = "Modèle du véhicule", TextAlign = HorizontalAlignment.Center, }); listViewFactureVente.Columns.Add(new ColumnHeader() { Name = "Statut", Text = "Statut", TextAlign = HorizontalAlignment.Center, }); } foreach (T Entite in Entites) { FactureVente FactureVente = Entite as FactureVente; ListViewItem NouvelElement = new ListViewItem() { Tag = Entite, Text = FactureVente.Client.Prenom, }; NouvelElement.SubItems.Add(FactureVente.Client.Nom); NouvelElement.SubItems.Add(FactureVente.NumeroFacture); NouvelElement.SubItems.Add(FactureVente.VehiculeVente.Vehicule.Modele); NouvelElement.SubItems.Add(FactureVente.VehiculeVente.StatutLivraison.StatutOperation); listViewFactureVente.Items.Add(NouvelElement); } listViewFactureVente.Visible = false; foreach (ColumnHeader Colonne in listViewFactureVente.Columns) { Colonne.Width = listViewFactureVente.Width / listViewFactureVente.Columns.Count; } listViewFactureVente.Visible = true; listViewFactureVente_SelectedIndexChanged(listViewFactureVente, EventArgs.Empty); return(true); }
private void buttonCommander_Click(object sender, EventArgs e) { if (formulaire_Client1.AccesALaListeClient.ClientSelectionne != null) { bool CreationOptionSucces = true; bool CreationPackOptionSucces = true; VehiculeVente VehiculeCommande = new VehiculeVente(); VehiculeCommande.AnneeConstruction = 0; VehiculeCommande.DateArrivee = DateTime.MinValue; VehiculeCommande.DateCommande = DateTime.Now; VehiculeCommande.DateMiseEnCirculation = DateTime.MinValue; VehiculeCommande.Kilometrage = 0; VehiculeCommande.NumeroChassis = ""; VehiculeCommande.PrixTotal = PrixEstimeApresChoix; VehiculeCommande.Vehicule = VehiculeChoisi; VehiculeCommande.StatutLivraison = Program.GMBD.EnumererStatut(null, null, new PDSGBD.MyDB.CodeSql("WHERE statut = \"En livraison\""), null).FirstOrDefault(); if ((VehiculeCommande.EstValide) && (Program.GMBD.AjouterVehiculeVente(VehiculeCommande))) { for (int i = 0; i < OptionsChoisies.Count; i++) { ChoixOptionVehicule OV = new ChoixOptionVehicule(); OV.VehiculeVente = VehiculeCommande; OV.OptionVehicule = OptionsChoisies[i]; if ((OV.EstValide) && (Program.GMBD.AjouterChoixOptionVehicule(OV))) { //ne rien faire vu que la création a été validée } else { CreationOptionSucces = false; } } if (CreationOptionSucces) { for (int i = 0; i < PackChoisis.Count; i++) { ChoixPackVehicule CPV = new ChoixPackVehicule(); CPV.VehiculeVente = VehiculeCommande; CPV.PackOptionPackVehicule = PackChoisis[i]; if ((CPV.EstValide) && (Program.GMBD.AjouterChoixPackVehicule(CPV))) { //ne rien faire vu que la création a été validée } else { CreationPackOptionSucces = false; } } } // Si un problème est déjà survenu à cet endroit, il n'y a aucun intérêt de poursuivre la création if ((!CreationOptionSucces) && (!CreationPackOptionSucces)) { Program.GMBD.SupprimerVehiculeVente(VehiculeCommande); errorProvider.SetError(buttonCommander, "Une erreur interne s'est produite, veuillez recommencer"); } else { FactureVente DernierId = Program.GMBD.EnumererFactureVente(null, null, null, null).LastOrDefault(); FactureVente NouvelleFactureDeCommande = new FactureVente(); NouvelleFactureDeCommande.Client = formulaire_Client1.ClientEnCoursDeTraitement; NouvelleFactureDeCommande.Employe = Form_Principal.Employe; NouvelleFactureDeCommande.VehiculeVente = VehiculeCommande; NouvelleFactureDeCommande.PourcentageTva = 1; NouvelleFactureDeCommande.RemiseSurReprise = 1000; NouvelleFactureDeCommande.DateVente = DateTime.MinValue; if (DernierId == null) { NouvelleFactureDeCommande.NumeroFacture = string.Format("{0}-1", DateTime.Now.Year); } else { NouvelleFactureDeCommande.NumeroFacture = string.Format("{0}-{1}", DateTime.Now.Year, DernierId.Id + 1); } if ((NouvelleFactureDeCommande.EstValide) && (Program.GMBD.AjouterNouvelleFactureVente(NouvelleFactureDeCommande))) { GenerationFacturePDF NouveauBonDeCommande = new GenerationFacturePDF(); NouveauBonDeCommande.GenerationBonDeCommande(NouvelleFactureDeCommande); ValidationProvider.Clear(); formulaire_Client1.ViderFormulaire(); ficheOptionsChoisies.Options = null; fichePackOptionsChoisis.PackOptions = null; } else { Program.GMBD.SupprimerVehiculeVente(VehiculeCommande); errorProvider.SetError(buttonCommander, "Une erreur interne s'est produite, veuillez recommencer"); } } } } }