コード例 #1
0
        /// <summary>
        /// Ouvre la réservation séléctionnée à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Reservation_Salle Open()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    //Affichage du message "modification en cours"
                    ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = true;
                    ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Modification d'une réservation en cours ...";

                    //Création de la fenêtre
                    ReservationSalleWindow reservationSalle = new ReservationSalleWindow();

                    //Initialisation du Datacontext en Reservation_Salle et association à la Reservation_Salle sélectionné
                    reservationSalle.DataContext = new Reservation_Salle();
                    reservationSalle.DataContext = (Reservation_Salle)this._DataGridMain.SelectedItem;

                    //booléen nullable vrai ou faux ou null
                    bool? dialogResult = reservationSalle.ShowDialog();

                    if (dialogResult.HasValue && dialogResult.Value == true)
                    {
                        //Si j'appuie sur le bouton Ok, je renvoi l'objet Reservation_Salle dans le datacontext de la fenêtre
                        return (Reservation_Salle)reservationSalle.DataContext;
                    }
                    else
                    {
                        //Je récupère les anciennes données de la base sur les modifications effectuées
                        ((App)App.Current).mySitaffEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, (Reservation_Salle)(this._DataGridMain.SelectedItem));
                        //La commande étant un objet "critique" au niveau des associations, je refresh l'edmx et je relance le filtrage s'il y en avait un afin d'avoir les mêmes infos (invisible pour l'user)
                        ((App)App.Current).refreshEDMXSansVidage();
                        this.filtrage();

                        //Si j'appuie sur le bouton annuler, je préviens que j'annule ma modification
                        ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false;
                        this.recalculMax();
                        ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Modification d'une réservation annulé : " + this.listReservationSalle.Count() + " / " + this.max;

                        return null;
                    }
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'une réservation.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return null;
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner une réservation.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return null;
            }
        }
コード例 #2
0
        /// <summary>
        /// duplique une Commande_Fournisseur à la liste à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Reservation_Salle Duplicate()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    //Affichage du message "ajout en cours"
                    ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = true;
                    ((App)App.Current)._theMainWindow.changementTexteStatusBar("Dupliquer une réservation en cours ...");

                    //Création de la fenêtre
                    ReservationSalleWindow reservationSalleWindow = new ReservationSalleWindow();

                    //Duplication de la commande sélectionnée
                    Reservation_Salle tmp = new Reservation_Salle();
                    tmp = duplicateReservationSalle((Reservation_Salle)this._DataGridMain.SelectedItem);

                    //Association de l'élement dupliqué au datacontext de la fenêtre
                    reservationSalleWindow.DataContext = tmp;

                    //booléen nullable vrai ou faux ou null
                    bool? dialogResult = reservationSalleWindow.ShowDialog();

                    if (dialogResult.HasValue && dialogResult.Value == true)
                    {
                        return (Reservation_Salle)reservationSalleWindow.DataContext;
                    }
                    else
                    {
                        try
                        {
                            //On détache tous les élements liés à la réservation Reservation_SalleContact_Client_Invite
                            ObservableCollection<Reservation_SalleContact_Client_Invite> toRemove = new ObservableCollection<Reservation_SalleContact_Client_Invite>();
                            foreach (Reservation_SalleContact_Client_Invite item in ((Reservation_Salle)reservationSalleWindow.DataContext).Reservation_SalleContact_Client_Invite)
                            {
                                toRemove.Add(item);
                            }
                            foreach (Reservation_SalleContact_Client_Invite item in toRemove)
                            {
                                ((App)App.Current).mySitaffEntities.Detach(item);
                            }

                            //On détache tous les élements liés à la réservation Reservation_SalleContact_Fournisseur_Invite
                            ObservableCollection<Reservation_SalleContact_Fournisseur_Invite> toRemove1 = new ObservableCollection<Reservation_SalleContact_Fournisseur_Invite>();
                            foreach (Reservation_SalleContact_Fournisseur_Invite item in ((Reservation_Salle)reservationSalleWindow.DataContext).Reservation_SalleContact_Fournisseur_Invite)
                            {
                                toRemove1.Add(item);
                            }
                            foreach (Reservation_SalleContact_Fournisseur_Invite item in toRemove1)
                            {
                                ((App)App.Current).mySitaffEntities.Detach(item);
                            }

                            //On détache tout les éléments liés à la réservation Reservation_SalleSalarie_Invite
                            ObservableCollection<Reservation_SalleSalarie_Invite> toRemove2 = new ObservableCollection<Reservation_SalleSalarie_Invite>();
                            foreach (Reservation_SalleSalarie_Invite item in ((Reservation_Salle)reservationSalleWindow.DataContext).Reservation_SalleSalarie_Invite)
                            {
                                toRemove2.Add(item);
                            }
                            foreach (Reservation_SalleSalarie_Invite item in toRemove2)
                            {
                                ((App)App.Current).mySitaffEntities.Detach(item);
                            }

                            //On détache tout les éléments liés à la réservation Reservation_SalleBesoin_Reservation_Salle
                            ObservableCollection<Reservation_SalleBesoin_Reservation_Salle> toRemove3 = new ObservableCollection<Reservation_SalleBesoin_Reservation_Salle>();
                            foreach (Reservation_SalleBesoin_Reservation_Salle item in ((Reservation_Salle)reservationSalleWindow.DataContext).Reservation_SalleBesoin_Reservation_Salle)
                            {
                                toRemove3.Add(item);
                            }
                            foreach (Reservation_SalleBesoin_Reservation_Salle item in toRemove3)
                            {
                                ((App)App.Current).mySitaffEntities.Detach(item);
                            }

                            //On détache la réservation
                            ((App)App.Current).mySitaffEntities.Detach((Reservation_Salle)reservationSalleWindow.DataContext);
                        }
                        catch (Exception)
                        {
                        }

                        //Si j'appuie sur le bouton annuler, je préviens que j'annule mon ajout
                        ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false;
                        this.recalculMax();
                        ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Ajout d'une réservation annulé : " + this.listReservationSalle.Count() + " / " + this.max;
                        return null;
                    }
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'une seule réservation.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return null;
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner une réservation.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return null;
            }
        }
コード例 #3
0
        /// <summary>
        /// Ouvre la réservation séléctionnée en lecture seule à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Reservation_Salle Look(Reservation_Salle reservationSalle)
        {
            if (this._DataGridMain.SelectedItem != null || reservationSalle != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1 || reservationSalle != null)
                {
                    //Affichage du message "affichage en cours"
                    ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = true;
                    ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Affichage d'une réservation en cours ...";

                    //Création de la fenêtre
                    ReservationSalleWindow creationreservationWindow = new ReservationSalleWindow();

                    //Initialisation du Datacontext en Reservation_Salle et association à la Reservation_Salle sélectionnée
                    creationreservationWindow.DataContext = new Reservation_Salle();
                    if (reservationSalle != null)
                    {
                        creationreservationWindow.DataContext = reservationSalle;
                    }
                    else
                    {
                        creationreservationWindow.DataContext = (Reservation_Salle)this._DataGridMain.SelectedItem;
                    }

                    //Je positionne la lecture seule sur la fenêtre
                    creationreservationWindow.Lecture_Seule();

                    //J'affiche la fenêtre
                    bool? dialogResult = creationreservationWindow.ShowDialog();

                    //Affichage du message "affichage en cours"
                    ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false;
                    ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Affichage d'une réservation terminé : " + this.listReservationSalle.Count() + " / " + this.max;

                    //Renvoi null
                    return null;
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'une seule réservation.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return null;
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner une réservation.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return null;
            }
        }
コード例 #4
0
        /// <summary>
        /// Ajoute une nouvelle Réservation à la liste à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Reservation_Salle Add()
        {
            //Affichage du message "ajout en cours"
            ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = true;
            ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Ajout d'une résevation en cours ...";

            //Initialisation de la fenêtre
            ReservationSalleWindow creationreservationSalle = new ReservationSalleWindow();

            //Création de l'objet temporaire
            Reservation_Salle tmp = new Reservation_Salle();
            tmp.Salarie1 = ((App)App.Current)._connectedUser.Salarie_Interne1.Salarie;
            tmp.Entreprise_Mere1 = ((App)App.Current)._connectedUser.Salarie_Interne1.Entreprise_Mere1;
            tmp.Heure_Debut = "xx:xx";
            tmp.Heure_Fin = "xx:xx";
            creationreservationSalle._textBoxHeureDebut.Foreground = Brushes.Gray;
            creationreservationSalle._textBoxHeureFin.Foreground = Brushes.Gray;

            //Mise de l'objet temporaire dans le datacontext
            creationreservationSalle.DataContext = tmp;

            //booléen nullable vrai ou faux ou null
            bool? dialogResult = creationreservationSalle.ShowDialog();

            if (dialogResult.HasValue && dialogResult.Value == true)
            {
                //Si j'appuie sur le bouton Ok, je renvoi l'objet commande se trouvant dans le datacontext de la fenêtre
                return (Reservation_Salle)creationreservationSalle.DataContext;

            }
            else
            {
                try
                {
                    //On détache tous les élements liés à la réservation Reservation_SalleContact_Client_Invite
                    ObservableCollection<Reservation_SalleContact_Client_Invite> toRemove = new ObservableCollection<Reservation_SalleContact_Client_Invite>();
                    foreach (Reservation_SalleContact_Client_Invite item in ((Reservation_Salle)creationreservationSalle.DataContext).Reservation_SalleContact_Client_Invite)
                    {
                        toRemove.Add(item);
                    }
                    foreach (Reservation_SalleContact_Client_Invite item in toRemove)
                    {
                        ((App)App.Current).mySitaffEntities.Detach(item);
                    }

                    //On détache tous les élements liés à la réservation Reservation_SalleContact_Fournisseur_Invite
                    ObservableCollection<Reservation_SalleContact_Fournisseur_Invite> toRemove1 = new ObservableCollection<Reservation_SalleContact_Fournisseur_Invite>();
                    foreach (Reservation_SalleContact_Fournisseur_Invite item in ((Reservation_Salle)creationreservationSalle.DataContext).Reservation_SalleContact_Fournisseur_Invite)
                    {
                        toRemove1.Add(item);
                    }
                    foreach (Reservation_SalleContact_Fournisseur_Invite item in toRemove1)
                    {
                        ((App)App.Current).mySitaffEntities.Detach(item);
                    }

                    //On détache tout les éléments liés à la réservation Reservation_SalleSalarie_Invite
                    ObservableCollection<Reservation_SalleSalarie_Invite> toRemove2 = new ObservableCollection<Reservation_SalleSalarie_Invite>();
                    foreach (Reservation_SalleSalarie_Invite item in ((Reservation_Salle)creationreservationSalle.DataContext).Reservation_SalleSalarie_Invite)
                    {
                        toRemove2.Add(item);
                    }
                    foreach (Reservation_SalleSalarie_Invite item in toRemove2)
                    {
                        ((App)App.Current).mySitaffEntities.Detach(item);
                    }

                    //On détache tout les éléments liés à la réservation Reservation_SalleBesoin_Reservation_Salle
                    ObservableCollection<Reservation_SalleBesoin_Reservation_Salle> toRemove3 = new ObservableCollection<Reservation_SalleBesoin_Reservation_Salle>();
                    foreach (Reservation_SalleBesoin_Reservation_Salle item in ((Reservation_Salle)creationreservationSalle.DataContext).Reservation_SalleBesoin_Reservation_Salle)
                    {
                        toRemove3.Add(item);
                    }
                    foreach (Reservation_SalleBesoin_Reservation_Salle item in toRemove3)
                    {
                        ((App)App.Current).mySitaffEntities.Detach(item);
                    }

                    //On détache la réservation
                    ((App)App.Current).mySitaffEntities.Detach((Reservation_Salle)creationreservationSalle.DataContext);
                }
                catch (Exception)
                {
                }

                //Si j'appuie sur le bouton annuler, je préviens que j'annule mon ajout
                ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false;
                this.recalculMax();
                ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Ajout d'une réservation annulé : " + this.listReservationSalle.Count() + " / " + this.max;
                return null;
            }
        }