コード例 #1
0
 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");
             }
         }
     }
 }
コード例 #2
0
        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);
        }
コード例 #3
0
 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();
         }
     }
 }
コード例 #4
0
 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();
             }
         }
     }
 }
コード例 #5
0
 private void buttonReactualiser_Click(object sender, EventArgs e)
 {
     errorProvider.Clear();
     ValidationProvider.Clear();
     ClearFormulaire();
     buttonReactualiser.Enabled    = false;
     buttonModifier.Enabled        = false;
     buttonAjouter.Enabled         = false;
     ClientVehicule.ButtonAjouter  = true;
     ClientVehicule.ButtonModifier = false;
     CalendrierRdv.RetirerSelection();
     textBoxInfoReparation.Enabled                   = false;
     ClientVehicule.DesactiverListeClient            = true;
     buttonImprimerLaFacture.Enabled                 = false;
     ClientVehicule.DesactiverTextBoxImmatriculation = true;
     ClientVehicule.DesactiverTextBoxNumChassis      = true;
     ClientVehicule.DesactiverListeModele            = true;
 }
コード例 #6
0
 private void ClientVehicule_RafraichirApresModification(object sender, EventArgs e)
 {
     ClearFormulaire();
     CalendrierRdv.ChargerListViewRdv();
 }
コード例 #7
0
        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");
                }
            }
        }
コード例 #8
0
        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");
            }
        }