/// <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;
         }
     }
 }
示例#3
0
        public Entretiens()
        {
            InitializeComponent();
            m_EntretienSelectionner = null;

            Bitmap ImageRessource = new Bitmap(Properties.Resources.Validation25px);

            ValidationProvider.Icon = Icon.FromHandle(ImageRessource.GetHicon());
        }
示例#4
0
        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;
            }
        }
示例#5
0
        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;
 }
示例#7
0
 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");
                }
            }
        }