private void buttonTerminer_Click(object sender, EventArgs e) { if (CalendrierRdv.FactureSelectionnee != null) { ValidationProvider.Clear(); errorProvider.Clear(); if (numericUpDownH.Value < 1) { errorProvider.SetError(numericUpDownH, "La réparation nécessite au minimum une heure de prestation"); } else { if (ficheArticleFacture.NombreDeLigne > 0) { RendezVousEntretienReparation RdvEntretienReparation = CalendrierRdv.FactureSelectionnee.RendezVous; RdvEntretienReparation.Statut = Program.GMBD.EnumererStatut(null, null, new MyDB.CodeSql("WHERE statut = {0}", string.Format("Terminé")), null).FirstOrDefault(); if ((RdvEntretienReparation.EstValide) && (Program.GMBD.ModifierRendezvous(RdvEntretienReparation))) { Facture NouvelleFacture = CalendrierRdv.FactureSelectionnee; NouvelleFacture.HeurePrestation = int.Parse(numericUpDownH.Value.ToString()); double PrixTotal = 0; foreach (Reparation Reparation in NouvelleFacture.EnumReparation) { PrixTotal += Reparation.Article.PrixUnite * Reparation.QuantiteArticle; } foreach (FactureEntretien Entretien in NouvelleFacture.EnumFactureEntretien) { PrixTotal += Entretien.Entretien.Prix; } NouvelleFacture.PrixTotal = PrixTotal; NouvelleFacture.Commentaire = textBoxConseil.Text; if ((NouvelleFacture.EstValide) && (Program.GMBD.ModifierFacture(NouvelleFacture))) { ClearPage(); CalendrierRdv.ChargerListViewRdv(); ValidationProvider.SetError(buttonTerminer, "Votre facture a été correctement enregsitrée"); } else { RdvEntretienReparation.Statut = Program.GMBD.EnumererStatut(null, null, new MyDB.CodeSql("WHERE statut = {0}", string.Format("En attente")), null).FirstOrDefault(); if (RdvEntretienReparation.EstValide) { Program.GMBD.ModifierRendezvous(RdvEntretienReparation); } errorProvider.SetError(buttonTerminer, "Votre facture n'a pas été correctement enregistrée"); } } else { errorProvider.SetError(buttonTerminer, "Erreur interne, veuillez contacter un administrateur"); } } else { errorProvider.SetError(ficheArticleFacture, "Il vous faut au minimum un article"); } } } }
public Page_Mecanicien() { InitializeComponent(); CalendrierRdv.SurChangementSelection += CalendrierRdvSurChangementSelection; ActualiserFicheArticle(); CalendrierRdv.ChargerListViewRdv(); Bitmap ImageRessource = new Bitmap(Properties.Resources.Validation25px); ValidationProvider.Icon = Icon.FromHandle(ImageRessource.GetHicon()); this.MinimumSize = new Size(1513, 801); }
private void buttonAnnulationRendezvous_Click(object sender, EventArgs e) { if (CalendrierRdv.FactureSelectionnee != null) { RendezVousEntretienReparation RdvEnEdition = CalendrierRdv.FactureSelectionnee.RendezVous; RdvEnEdition.Statut = Program.GMBD.EnumererStatut(null, null, new MyDB.CodeSql("WHERE statut = \"Annuler\""), null).FirstOrDefault(); if (Program.GMBD.ModifierRendezvous(RdvEnEdition)) { ValidationProvider.SetError(buttonAnnulationRendezvous, "Le rendez-vous a été annulé"); CalendrierRdv.ChargerListViewRdv(); ClearFormulaire(); } } }
private void buttonReactiveRdv_Click(object sender, EventArgs e) { if (CalendrierRdv.FactureSelectionnee != null) { if (CalendrierRdv.FactureSelectionnee.RendezVous.DateDebut > DateTime.Now) { RendezVousEntretienReparation RdvEnEdition = CalendrierRdv.FactureSelectionnee.RendezVous; RdvEnEdition.Statut = Program.GMBD.EnumererStatut(null, null, new MyDB.CodeSql("WHERE statut = {0}", "En attente"), null).FirstOrDefault(); if (Program.GMBD.ModifierRendezvous(RdvEnEdition)) { ValidationProvider.SetError(buttonReactiveRdv, "Le rendez-vous a été remis en attente"); CalendrierRdv.ChargerListViewRdv(); ClearFormulaire(); } } } }
private void ClientVehicule_RafraichirApresModification(object sender, EventArgs e) { ClearFormulaire(); CalendrierRdv.ChargerListViewRdv(); }
private void buttonModifier_Click(object sender, EventArgs e) { errorProvider.Clear(); ValidationProvider.Clear(); if (CalendrierRdv.FactureSelectionnee != null) { bool SuppressionEntretienLier = false; Entretien EntretienIndisponibleExiste = null; Facture FactureEnEdition = CalendrierRdv.FactureSelectionnee; FactureEnEdition.SurErreur += FactureEnEdition_SurErreur; FactureEnEdition.NumeroFacture = CalendrierRdv.FactureSelectionnee.NumeroFacture; if (checkBoxReparation.Checked == true) { FactureEnEdition.m_ReparationCoche = true; } else { textBoxInfoReparation.Text = ""; FactureEnEdition.m_ReparationCoche = false; } if ((checkBoxReparation.Checked == true) || (listeDeroulanteEntretien.EntretienSelectionne != null)) { FactureEnEdition.Commentaire = ""; FactureEnEdition.HeurePrestation = 0; FactureEnEdition.Informations = textBoxInfoReparation.Text; if (listeDeroulanteEntretien.EntretienSelectionne != null) { FactureEnEdition.PrixTotal = listeDeroulanteEntretien.EntretienSelectionne.Prix; } else if (listeDeroulanteEntretien.TextBoxNomEntretien.Length > 1) { int IndexDuTiretSeparateur = 0; for (int i = listeDeroulanteEntretien.TextBoxNomEntretien.Length - 1; i > 0; i--) { if (listeDeroulanteEntretien.TextBoxNomEntretien[i] == ('-')) { IndexDuTiretSeparateur = i; break; } } int PrixEntretien = int.Parse(listeDeroulanteEntretien.TextBoxNomEntretien.Substring(IndexDuTiretSeparateur + 1, (listeDeroulanteEntretien.TextBoxNomEntretien.Length - 3) - IndexDuTiretSeparateur)); string NomEntretien = listeDeroulanteEntretien.TextBoxNomEntretien.Substring(0, IndexDuTiretSeparateur - 1); EntretienIndisponibleExiste = Program.GMBD.EnumererEntretien(null, null, new MyDB.CodeSql("WHERE disponible = 0 AND type_entretien = {0} AND prix = {1}", NomEntretien.Trim(), PrixEntretien), null).FirstOrDefault(); FactureEnEdition.PrixTotal = 0; } else { SuppressionEntretienLier = true; FactureEnEdition.PrixTotal = 0; } FactureEnEdition.RendezVous.DateDebut = dateTimePickerArrivee.Value; FactureEnEdition.RendezVous.DateFin = dateTimePickerFin.Value; if (ClientVehicule.ClientVehiculeEnCoursDeTraitement != CalendrierRdv.FactureSelectionnee.RendezVous.ClientVehicule) { FactureEnEdition.RendezVous.ClientVehicule = ClientVehicule.ClientVehiculeEnCoursDeTraitement; } else { FactureEnEdition.RendezVous.ClientVehicule = CalendrierRdv.FactureSelectionnee.RendezVous.ClientVehicule; } FactureEnEdition.RendezVous.Statut = Program.GMBD.EnumererStatut(null, null, new MyDB.CodeSql("WHERE statut = {0}", "En attente"), null).FirstOrDefault(); if (((listeDeroulanteEntretien.EntretienSelectionne != null) || (EntretienIndisponibleExiste != null) || (SuppressionEntretienLier == true)) || (textBoxInfoReparation.Text != "")) { // Test de validation sur les 2 objets pour ne pas faire une requête si un des 2 n'est pas valide if ((FactureEnEdition.EstValide) && (FactureEnEdition.RendezVous.EstValide) && (Program.GMBD.ModifierFacture(FactureEnEdition))) { if (Program.GMBD.ModifierRendezvous(FactureEnEdition.RendezVous)) { if ((listeDeroulanteEntretien.EntretienSelectionne != null) && (CalendrierRdv.FactureSelectionnee.EnumFactureEntretien.ElementAt(0) == null)) { FactureEntretien NouvelEntretien = new FactureEntretien(FactureEnEdition, listeDeroulanteEntretien.EntretienSelectionne); if (Program.GMBD.AjouterFactureEntretien(NouvelEntretien)) { ValidationProvider.SetError(buttonModifier, "Le rendez-vous a été correctement modifié"); CalendrierRdv.ChargerListViewRdv(); RechargementApresModification = true; CalendrierRdv.FactureSelectionnee = FactureEnEdition; } } else if ((listeDeroulanteEntretien.EntretienSelectionne != null) && (listeDeroulanteEntretien.EntretienSelectionne.Id != CalendrierRdv.FactureSelectionnee.EnumFactureEntretien.ElementAt(0).Entretien.Id)) { FactureEntretien EntretienLie = FactureEnEdition.EnumFactureEntretien.ElementAt(0); EntretienLie.Entretien = listeDeroulanteEntretien.EntretienSelectionne; EntretienLie.FactureLiee = FactureEnEdition; // Si il modifie l'entretien if (Program.GMBD.ModifierFactureEntretien(EntretienLie)) { CalendrierRdv.ChargerListViewRdv(); ValidationProvider.SetError(buttonModifier, "Le rendez-vous a été correctement modifié"); RechargementApresModification = true; CalendrierRdv.FactureSelectionnee = FactureEnEdition; } } else if ((listeDeroulanteEntretien.EntretienSelectionne == null) && (EntretienIndisponibleExiste == null)) { FactureEntretien EntretienLier = FactureEnEdition.EnumFactureEntretien.FirstOrDefault(); if (EntretienLier != null) { // Si il y a une réparation alors la suppresion de l'entretien est autorisée if ((SuppressionEntretienLier == true) && (checkBoxReparation.Checked == true)) { // S'il retire l'entretien de la sélection Program.GMBD.SupprimerFactureEntretien(EntretienLier); ValidationProvider.SetError(buttonModifier, "Le rendez-vous a été correctement modifié"); CalendrierRdv.ChargerListViewRdv(); RechargementApresModification = true; CalendrierRdv.FactureSelectionnee = FactureEnEdition; } else { errorProvider.SetError(buttonModifier, "Vous devez choisir un entretien ou une réparation"); listeDeroulanteEntretien.EntretienSelectionne = CalendrierRdv.FactureSelectionnee.EnumFactureEntretien.FirstOrDefault().Entretien; } } else { ValidationProvider.SetError(buttonModifier, "Le rendez-vous a été correctement modifié"); CalendrierRdv.ChargerListViewRdv(); RechargementApresModification = true; CalendrierRdv.FactureSelectionnee = FactureEnEdition; } } else { ValidationProvider.SetError(buttonModifier, "Le rendez-vous a été correctement modifié"); CalendrierRdv.ChargerListViewRdv(); RechargementApresModification = true; CalendrierRdv.FactureSelectionnee = FactureEnEdition; } } } } } else { errorProvider.SetError(buttonModifier, "Vous devez choisir un entretien ou une réparation à effectuer"); } } }
private void buttonAjouter_Click(object sender, EventArgs e) { ValidationProvider.Clear(); errorProvider.Clear(); if ((ClientVehicule.ClientVehiculeEnCoursDeTraitement != null) && (ClientVehicule.ClientVehiculeEnCoursDeTraitement.Immatriculation != "")) { Facture NouvelleFacture = new Facture(); NouvelleFacture.RendezVous = new RendezVousEntretienReparation(); NouvelleFacture.SurErreur += FactureEnEdition_SurErreur; Facture DerniereFacture = Program.GMBD.EnumererFacture(null, null, null, new MyDB.CodeSql("ORDER BY id_facture DESC")).FirstOrDefault(); if (DerniereFacture != null) { NouvelleFacture.NumeroFacture = string.Format("er{0}-{1}", DateTime.Now.Year, DerniereFacture.Id); } else { NouvelleFacture.NumeroFacture = string.Format("er{0}-1", DateTime.Now.Year); } if (checkBoxReparation.Checked == true) { NouvelleFacture.Informations = textBoxInfoReparation.Text; NouvelleFacture.m_ReparationCoche = true; } else { NouvelleFacture.Informations = ""; NouvelleFacture.m_ReparationCoche = false; } if ((NouvelleFacture.m_ReparationCoche == true) || (listeDeroulanteEntretien.EntretienSelectionne != null)) { NouvelleFacture.Commentaire = string.Empty; NouvelleFacture.HeurePrestation = 0; if (listeDeroulanteEntretien.EntretienSelectionne != null) { NouvelleFacture.PrixTotal = listeDeroulanteEntretien.EntretienSelectionne.Prix; } else { NouvelleFacture.PrixTotal = 0; } NouvelleFacture.RendezVous.DateDebut = dateTimePickerArrivee.Value; NouvelleFacture.RendezVous.DateFin = dateTimePickerFin.Value; if (ClientVehicule.ClientSelectionneCalendrier != null) { NouvelleFacture.RendezVous.ClientVehicule = ClientVehicule.ClientSelectionneCalendrier; } else if (ClientVehicule.ClientVehiculeEnCoursDeTraitement != null) { NouvelleFacture.RendezVous.ClientVehicule = ClientVehicule.ClientVehiculeEnCoursDeTraitement; } NouvelleFacture.RendezVous.Statut = Program.GMBD.EnumererStatut(null, null, new MyDB.CodeSql("WHERE statut = {0}", "En attente"), null).FirstOrDefault(); if (dateTimePickerArrivee.Value < dateTimePickerFin.Value) { if ((NouvelleFacture.EstValide) && (NouvelleFacture.RendezVous.EstValide) && (Program.GMBD.AjouterRendezvous(NouvelleFacture.RendezVous))) { if (Program.GMBD.AjouterNouvelleFacture(NouvelleFacture)) { if (listeDeroulanteEntretien.EntretienSelectionne != null) { FactureEntretien EntretienLiee = new FactureEntretien(NouvelleFacture, listeDeroulanteEntretien.EntretienSelectionne); if (Program.GMBD.AjouterFactureEntretien(EntretienLiee)) { CalendrierRdv.ChargerListViewRdv(); ValidationProvider.Clear(); ValidationProvider.SetError(buttonAjouter, "Le rendez-vous a été correctement ajouté"); } } else if (checkBoxReparation.Checked == true) { ValidationProvider.Clear(); ValidationProvider.SetError(buttonAjouter, "Le rendez-vous a été correctement ajouté"); } } else { Program.GMBD.SupprimerRendezvous(NouvelleFacture.RendezVous); } } } else { errorProvider.SetError(dateTimePickerFin, "La date de fin ne peut pas être inférieure ou égale à la date d'arrivée"); } } else { errorProvider.SetError(buttonAjouter, "Vous devez choisir un entretien ou une réparation à effectuer"); } } else { errorProvider.SetError(buttonAjouter, "L'immatriculation doit être indiquée et validée"); } }