Пример #1
0
        // Evènement de MouseDoubleClick pour la DataGrid DGV_InterventionList
        private void DGV_InterventionList_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            try
            {
                if (tech != null)
                {
                    // Déclaration des variables locales
                    Class.C_Intervention interv = null;
                    DataRowView          dr;

                    // Récupération de la ligne de la DataGrid
                    dr = (DataRowView)this.DGV_InterventionList.SelectedItem;

                    // Vérification que c'est le bon technicien qui demande la modification
                    if (dr.Row.ItemArray[1].ToString() == tech.Username)
                    {
                        // Recherche dans la liste des intervention
                        foreach (Class.C_Intervention i in ticket.InterventionList)
                        {
                            // Vérification si l'intervention correspond
                            if (i.TechnicalUsername == dr.Row.ItemArray[1].ToString() && i.DateBeg.ToString() == dr.Row.ItemArray[2].ToString() && i.DateEnd.ToString() == dr.Row.ItemArray[3].ToString())
                            {
                                // Récupère l'intervention
                                interv = i;

                                // Casse la boucle foreach
                                break;
                            }
                        }

                        // Préparation et affichage de la fenêtre
                        WPF_ModifInterv wpf_MI = new WPF_ModifInterv(ticket, interv, tech);
                        wpf_MI.ShowDialog();

                        // Vide la table
                        dtDGV.Rows.Clear();

                        // Mise en place des informations dans la DataGrid
                        FillDataGrid();
                    }
                    else
                    {
                        // Affichage du message d'erreur
                        MessageBox.Show("Vous ne pouvez pas modifier l'intervention d'un autre technicien");
                    }
                }
            }
            catch (Exception ex)
            {
                // Affichage du message d'erreur
                MessageBox.Show("Le programme a rencontré une ou plusieur(s) erreur(s) : \n\n" + ex.Message);
            }
        }
Пример #2
0
        // Constructeur de la classe
        public WPF_ModifInterv(Class.C_Ticket ticket, Class.C_Intervention interv, Class.C_Technical tech)
        {
            // Initialisation des composants
            InitializeComponent();

            // Récupération des informaitons
            this.ticket = ticket;
            this.interv = interv;
            this.tech   = tech;

            // Remise à zéro du fomulaire
            RAZ();

            // Mise en place des informations
            this.TXT_HeureBeg.Text        = interv.DateBeg.Hour.ToString();
            this.TXT_HeureFin.Text        = interv.DateEnd.Hour.ToString();
            this.TXT_MinuteBeg.Text       = interv.DateBeg.Minute.ToString();
            this.TXT_MinuteFin.Text       = interv.DateEnd.Minute.ToString();
            this.TXT_Note.Text            = interv.Note;
            this.TXT_Object.Text          = interv.Label;
            this.TXT_RMANumber.Text       = Class.C_Database.SelectIDTicket(ticket).ToString();
            this.DTP_DateBeg.SelectedDate = interv.DateBeg.Date;
            this.DTP_DateFin.SelectedDate = interv.DateEnd.Date;
        }
Пример #3
0
        // Evènement Click du bouton BTN_Accept
        private void BTN_Accept_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                // Déclaration des variables locales
                Class.C_Intervention oldInterv;
                DateTime             tmpDate, dateBeg, dateEnd;

                // Récupération de l'ancienne intervention
                oldInterv = new Class.C_Intervention(interv.DateBeg, interv.DateEnd, interv.Label, interv.Note, Class.C_Database.SelectTechnical(interv.TechnicalUsername));

                //  Retire l'intervention de la liste
                ticket.RemoveIntervFromList(oldInterv);

                // Préparation des dates
                tmpDate = (DateTime)this.DTP_DateBeg.SelectedDate;
                dateBeg = new DateTime(tmpDate.Year, tmpDate.Month, tmpDate.Day, int.Parse(this.TXT_HeureBeg.Text), int.Parse(this.TXT_MinuteBeg.Text), 0);
                tmpDate = (DateTime)this.DTP_DateFin.SelectedDate;
                dateEnd = new DateTime(tmpDate.Year, tmpDate.Month, tmpDate.Day, int.Parse(this.TXT_HeureFin.Text), int.Parse(this.TXT_MinuteFin.Text), 0);

                // Vérification que la date de fin est plus grande que la date de début
                if (dateBeg < dateEnd)
                {
                    // Modificatoin de l'ancienne intervention
                    interv.ModifyIntervention(dateBeg, dateEnd, this.TXT_Object.Text, this.TXT_Note.Text);

                    // Essai d'ajout de cette intervention à la liste
                    if (ticket.AddIntervInList(interv))
                    {
                        // Modification en base de données
                        Class.C_Database.UpdateIntervention(interv, ticket);

                        // Remise à zéro du formulaire
                        RAZ();

                        // Fermeture du formulaire
                        this.Close();
                    }
                    else
                    {
                        // Remise de l'ancienne intervention
                        ticket.AddIntervInList(oldInterv);

                        // Affichage du message d'erreur
                        MessageBox.Show("L'intervention que vous souhaitez entrer entre en conflit avec une autre que vous avez effectué.");
                    }
                }
                else
                {
                    // Remise de l'ancienne intervention
                    ticket.AddIntervInList(oldInterv);

                    // Affichage du message d'erreur
                    MessageBox.Show("La date et heure de fin doit être plus grande la date et heure de début");
                }
            }
            catch (Exception ex)
            {
                // Affichage du message d'erreur
                MessageBox.Show("Le programme a rencontré une ou plusieur(s) erreur(s) : \n\n" + ex.Message);
            }
        }