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"); } } } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="NumeroFacture">Numéro de la facture</param> /// <param name="HeurePrestation">Heure(s) prestée(s) sur le véhicule</param> /// <param name="PrixTotal">Prix de l'entretien ou de la réparation</param> /// <param name="Informations">Informations encodées par le vendeur</param> /// <param name="Commentaire">Commentaire encodé par le mécanicien</param> /// <param name="RendezVous">Rendez-vous de cette facture</param> public Facture(string NumeroFacture, int HeurePrestation, double PrixTotal, string Informations, string Commentaire, RendezVousEntretienReparation RendezVous) : this() { DefinirId(Id); this.NumeroFacture = NumeroFacture; this.HeurePrestation = HeurePrestation; this.PrixTotal = PrixTotal; this.Informations = Informations; this.Commentaire = Commentaire; this.RendezVous = RendezVous; m_ReparationCoche = false; }
/// <summary> /// Constructeur par défaut /// </summary> public Facture() : base() { m_HeurePrestation = -1; m_PrixTotal = -1.0; m_Informations = null; m_Commentaire = null; m_RendezVous = null; m_FactureEntretien = null; m_Reparation = null; m_ReparationCoche = false; m_NumeroFacture = null; }
/// <summary> /// Méthode permettant de réagir sur l'erreur d'une édition de la partie "dates" d'un rendez-vous /// </summary> private void RendezVousEnEdition_SurErreur(RendezVousEntretienReparation Entite, RendezVousEntretienReparation.Champs Champ, string MessageErreur) { switch (Champ) { case RendezVousEntretienReparation.Champs.DateDebut: errorProvider.SetError(textBoxInfoReparation, MessageErreur); break; case RendezVousEntretienReparation.Champs.DateFin: errorProvider.SetError(textBoxInfoReparation, MessageErreur); break; } }
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(); } } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param> public Facture(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "id_facture")); this.NumeroFacture = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "numero_facture"); this.HeurePrestation = Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "heure_prestation"); this.PrixTotal = Enregistrement.ValeurChampComplet <double>(NomDeLaTablePrincipale, "prix_total"); this.Informations = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "informations"); this.Commentaire = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "commentaire"); this.RendezVous = new RendezVousEntretienReparation(Connexion, Enregistrement); } }
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(); } } } }