/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Facture">Facture liée à l'entretien</param> /// <param name="Entretien">Entretien lié à cette facture</param> public FactureEntretien(Facture Facture, Entretien Entretien) : this() { DefinirId(Id); this.FactureLiee = Facture; this.Entretien = Entretien; }
private void pictureBoxSupprimerEntretien_Click(object sender, EventArgs e) { if (listeDeroulanteEntretien.EntretienSelectionne != null) { FactureEntretien LienExistant = Program.GMBD.EnumererFactureEntretien(null, new MyDB.CodeSql("JOIN entretien ON facture_entretien.fk_id_entretien = entretien.id_entretien"), new MyDB.CodeSql("WHERE fk_id_entretien = {0}", listeDeroulanteEntretien.EntretienSelectionne.Id), null).FirstOrDefault(); if (LienExistant != null) { Entretien EntretienIndisponible = LienExistant.Entretien; EntretienIndisponible.Disponible = 0; // Si l'entretien est référencé, suppression fictive afin de garder la trace de celui-ci if ((EntretienIndisponible.EstValide) && (Program.GMBD.ModifierEntretien(EntretienIndisponible))) { ValidationProvider.SetError(pictureBoxSupprimerEntretien, "Entretien correctement supprimé"); entretiens.EntretienSelectionner = null; listeDeroulanteEntretien.EntretienSelectionne = null; } } // Si l'entretien n'a aucune référence, la suppresion définitive peut être effectuée else if ((LienExistant == null) && (Program.GMBD.SupprimerEntretien(listeDeroulanteEntretien.EntretienSelectionne))) { listeDeroulanteEntretien.Entretien = Program.GMBD.EnumererEntretien(null, null, new MyDB.CodeSql("WHERE disponible = 1"), null); ValidationProvider.SetError(pictureBoxSupprimerEntretien, "Entretien correctement supprimé"); entretiens.EntretienSelectionner = null; listeDeroulanteEntretien.EntretienSelectionne = null; } } }
public Entretiens() { InitializeComponent(); m_EntretienSelectionner = null; Bitmap ImageRessource = new Bitmap(Properties.Resources.Validation25px); ValidationProvider.Icon = Icon.FromHandle(ImageRessource.GetHicon()); }
private void Entretien_SurErreur(Entretien Entite, Entretien.Champs Champ, string MessageErreur) { switch (Champ) { case Entretien.Champs.TypeEntretien: errorProvider.SetError(textBoxEntretien, MessageErreur); break; case Entretien.Champs.Prix: errorProvider.SetError(numericUpDown1, MessageErreur); break; default: break; } }
private void NouvelEntretien_AvantChangement(Entretien Entite, Entretien.Champs Champ, object ValeurActuelle, object NouvelleValeur, AccumulateurErreur AccumulateurErreur) { switch (Champ) { case Entretien.Champs.TypeEntretien: Entretien EntretienExiste = Program.GMBD.EnumererEntretien(null, null, new PDSGBD.MyDB.CodeSql("WHERE type_entretien = {0} AND disponible = 1", textBoxEntretien.Text), null).FirstOrDefault(); if (EntretienExiste != null) { AccumulateurErreur.NotifierErreur("Un entretien portant ce nom existe déjà"); } break; default: break; } }
public Element(Entretien Entretien) { this.Entretien = Entretien; }
private void buttonValider_Click(object sender, EventArgs e) { if (m_EstAjouter) { Entretien NouvelEntretien = new Entretien(); NouvelEntretien.SurErreur += Entretien_SurErreur; NouvelEntretien.AvantChangement += NouvelEntretien_AvantChangement; NouvelEntretien.TypeEntretien = textBoxEntretien.Text; NouvelEntretien.Prix = double.Parse(numericUpDown1.Value.ToString()); NouvelEntretien.Disponible = 1; if ((NouvelEntretien.EstValide) && (Program.GMBD.AjouterEntretien(NouvelEntretien))) { ValidationProvider.SetError(buttonValider, "Entretien correctement ajouté"); if (RefreshApresAction != null) { EntretienSelectionner = NouvelEntretien; RefreshApresAction(this, e); } } } else if (m_EstModification) { FactureEntretien ConnexionExistante = Program.GMBD.EnumererFactureEntretien(null, null, new PDSGBD.MyDB.CodeSql("WHERE fk_id_entretien = {0}", EntretienSelectionner.Id), null).FirstOrDefault(); if (ConnexionExistante == null) { numericUpDown1.Enabled = true; Entretien EntretienAModifier = EntretienSelectionner; EntretienAModifier.SurErreur += Entretien_SurErreur; EntretienAModifier.AvantChangement += EntretienAModifier_AvantChangement; EntretienAModifier.Prix = double.Parse(numericUpDown1.Value.ToString()); EntretienAModifier.TypeEntretien = textBoxEntretien.Text; EntretienAModifier.Disponible = EntretienSelectionner.Disponible; if ((EntretienAModifier.EstValide) && (Program.GMBD.ModifierEntretien(EntretienAModifier))) { ValidationProvider.SetError(buttonValider, "Entretien correctement modifié"); if (RefreshApresAction != null) { EntretienSelectionner = EntretienAModifier; RefreshApresAction(this, e); } } } else { numericUpDown1.Enabled = false; Entretien EntretienAModifier = EntretienSelectionner; EntretienAModifier.SurErreur += Entretien_SurErreur; EntretienAModifier.AvantChangement += EntretienAModifier_AvantChangement; EntretienAModifier.TypeEntretien = textBoxEntretien.Text; EntretienAModifier.Disponible = EntretienSelectionner.Disponible; if ((EntretienAModifier.EstValide) && (Program.GMBD.ModifierEntretien(EntretienAModifier))) { ValidationProvider.SetError(buttonValider, "Entretien correctement modifié"); if (RefreshApresAction != null) { EntretienSelectionner = EntretienAModifier; RefreshApresAction(this, e); } } } } }
/// <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 FactureEntretien(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "id_facture_entretien")); this.Entretien = new Entretien(Connexion, Enregistrement); }
/// <summary> /// Constructeur par défaut /// </summary> public FactureEntretien() : base() { m_FactureLiee = null; m_Entretien = null; }
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"); } } }