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