/// <summary> /// duplique la commande passée en paramètre /// </summary> /// <param name="commande1">commande à dupliquer</param> private Reservation_Salle duplicateReservationSalle(Reservation_Salle itemToCopy) { Reservation_Salle tmp = new Reservation_Salle(); tmp.Date_Reservation = itemToCopy.Date_Reservation; tmp.Date_Reservation_Fin = itemToCopy.Date_Reservation_Fin; tmp.Heure_Debut = itemToCopy.Heure_Debut; tmp.Heure_Fin = itemToCopy.Heure_Fin; tmp.Nb_Participants = itemToCopy.Nb_Participants; tmp.ObjetReunion = itemToCopy.ObjetReunion; tmp.Commentaire = itemToCopy.Commentaire; tmp.Entreprise_Mere1 = itemToCopy.Entreprise_Mere1; tmp.Salle1 = itemToCopy.Salle1; foreach (Reservation_SalleBesoin_Reservation_Salle item in itemToCopy.Reservation_SalleBesoin_Reservation_Salle) { Reservation_SalleBesoin_Reservation_Salle toAdd = new Reservation_SalleBesoin_Reservation_Salle(); toAdd.Quantite = item.Quantite; toAdd.Besoin_Reservation_Salle1 = item.Besoin_Reservation_Salle1; tmp.Reservation_SalleBesoin_Reservation_Salle.Add(toAdd); } foreach (Reservation_SalleContact_Client_Invite item in itemToCopy.Reservation_SalleContact_Client_Invite) { Reservation_SalleContact_Client_Invite toAdd = new Reservation_SalleContact_Client_Invite(); toAdd.Contact1 = item.Contact1; tmp.Reservation_SalleContact_Client_Invite.Add(toAdd); } foreach (Reservation_SalleContact_Fournisseur_Invite item in itemToCopy.Reservation_SalleContact_Fournisseur_Invite) { Reservation_SalleContact_Fournisseur_Invite toAdd = new Reservation_SalleContact_Fournisseur_Invite(); toAdd.Contact1 = item.Contact1; tmp.Reservation_SalleContact_Fournisseur_Invite.Add(toAdd); } foreach (Reservation_SalleSalarie_Invite item in itemToCopy.Reservation_SalleSalarie_Invite) { Reservation_SalleSalarie_Invite toAdd = new Reservation_SalleSalarie_Invite(); toAdd.Salarie1 = item.Salarie1; tmp.Reservation_SalleSalarie_Invite.Add(toAdd); } tmp.Salarie1 = ((App)App.Current)._connectedUser.Salarie_Interne1.Salarie; return tmp; }
/// <summary> /// Met à jour l'état en bas pour l'utilisateur /// </summary> /// <param name="typeEtat">texte : "Filtrage", "Ajout", "Modification", "Suppression", "Look", "" ("" = Chargement)</param> /// <param name="dao">un objet Commande_Fournisseur soit pour l'ajouter au listing, soit pour afficher qui a été modifié ou supprimé</param> public void MiseAJourEtat(string typeEtat, Reservation_Salle res) { //Je racalcul le nombre max d'élements this.recalculMax(); //En fonction de l'action, j'affiche le message if (typeEtat == "Filtrage") { ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "filtrage des réservation terminée : " + this.listReservationSalle.Count() + " / " + this.max; } else if (typeEtat == "Ajout") { //J'ajoute la réservation dans le linsting this.listReservationSalle.Add(res); //Je racalcul le nombre max d'élements après l'ajout this.recalculMax(); ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Ajout d'une réservation numéro '" + res.Identifiant + "' effectué avec succès. Nombre d'élements : " + this.listReservationSalle.Count() + " / " + this.max; } else if (typeEtat == "Modification") { //Je raffraichis mon datagrid this._DataGridMain.Items.Refresh(); ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Modification de la réservation numéro : '" + res.Identifiant + "' effectuée avec succès. Nombre d'élements : " + this.listReservationSalle.Count() + " / " + this.max; } else if (typeEtat == "Suppression") { //Je supprime de mon listing l'élément supprimé this.listReservationSalle.Remove(res); //Je recalcul le nombre max d'élements après la suppression this.recalculMax(); ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Suppression de la réservation numéro : '" + res.Identifiant + "' effectuée avec succès. Nombre d'élements : " + this.listReservationSalle.Count() + " / " + this.max; } else if (typeEtat == "Look") { } else if (typeEtat == "Duplicate") { //J'ajoute la réservation dans le linsting this.listReservationSalle.Add(res); //Je racalcul le nombre max d'élements après l'ajout this.recalculMax(); ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Dupliquer une réservation numéro '" + res.Identifiant + "' effectué avec succès. Nombre d'élements : " + this.listReservationSalle.Count() + " / " + this.max; } else { ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Chargement des réservations terminé : " + this.listReservationSalle.Count() + " / " + this.max; } //Je retri les données dans le sens par défaut this.triDatas(); //J'arrete la progressbar ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false; this._DataGridMain.Items.Refresh(); }
/// <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; } }
/// <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; } }
/// <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; } }
public void LookReservationSalle(UIElement uIElement, Reservation_Salle reservationToLook) { ((ListeReservationSalleControl)uIElement).Look(reservationToLook); }