/// <summary> /// Ouvre le relevé séléctionné à l'aide d'une nouvelle fenêtre /// </summary> public Releve_Heure_Atelier 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.changementTexteStatusBar("Modification d'un releve d'heures atelier en cours ..."); //Création de la fenêtre ReleveHeureAtelierWindow releveHeureAtelierWindow = new ReleveHeureAtelierWindow(); //Initialisation du Datacontext en relevé heure atelier et association au relevé sélectionnée releveHeureAtelierWindow.DataContext = new Releve_Heure_Atelier(); releveHeureAtelierWindow.DataContext = this._DataGridMain.SelectedItem; //Mise en place des options particulières releveHeureAtelierWindow.creation = true; //booléen nullable vrai ou faux ou null bool? dialogResult = releveHeureAtelierWindow.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value == true) { //Si j'appuie sur le bouton Ok, je renvoi l'objet se trouvant dans le datacontext de la fenêtre return (Releve_Heure_Atelier)releveHeureAtelierWindow.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, (Releve_Heure_Atelier)(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.changementTexteStatusBar("Modification d'un relevé d'heures atelier annulée : " + this.listReleve.Count() + " / " + this.max); return null; } } else { MessageBox.Show("Vous ne devez sélectionner qu'un seul relevé.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation); return null; } } else { MessageBox.Show("Vous devez sélectionner un relevé.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation); return null; } }
/// <summary> /// Ouvre le relevé séléctionné en lecture seule à l'aide d'une nouvelle fenêtre /// </summary> public Releve_Heure_Atelier Look() { if (this._DataGridMain.SelectedItem != null) { if (this._DataGridMain.SelectedItems.Count == 1) { //Affichage du message "affichage en cours" ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = true; ((App)App.Current)._theMainWindow.changementTexteStatusBar("Affichage d'un relevé d'heures atelier en cours ..."); //Création de la fenêtre ReleveHeureAtelierWindow releveHeureAtelierWindow = new ReleveHeureAtelierWindow(); //Initialisation du Datacontext et association à l'objet sélectionnée releveHeureAtelierWindow.DataContext = new Releve_Heure_Atelier(); releveHeureAtelierWindow.DataContext = this._DataGridMain.SelectedItem; //Je positionne la lecture seule sur la fenêtre releveHeureAtelierWindow.lectureSeule(); //J'affiche la fenêtre bool? dialogResult = releveHeureAtelierWindow.ShowDialog(); //Affichage du message "affichage en cours" ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false; ((App)App.Current)._theMainWindow.changementTexteStatusBar("Affichage d'un relevé d'heures atelier terminé : " + this.listReleve.Count() + " / " + this.max); //Renvoi null return null; } else { MessageBox.Show("Vous ne devez sélectionner qu'un seul relevé.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation); return null; } } else { MessageBox.Show("Vous devez sélectionner un relevé.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation); return null; } }
private void _ButtonAffaireAtelierNouveau_Click(object sender, RoutedEventArgs e) { ReleveHeureAtelierWindow releveheureAtelierWindow = new ReleveHeureAtelierWindow(); releveheureAtelierWindow.DataContext = new Heure_Atelier(); ((Heure_Atelier)releveheureAtelierWindow.DataContext).Affaire1 = (Affaire)this.DataContext; bool? dialogResult = releveheureAtelierWindow.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value == true) { ((Affaire)this.DataContext).Heure_Atelier.Add((Heure_Atelier)releveheureAtelierWindow.DataContext); } else { try { ((App)App.Current).mySitaffEntities.Detach((Heure_Atelier)releveheureAtelierWindow.DataContext); } catch (Exception) { } } this._dataGridAtelier.Items.Refresh(); }
/// <summary> /// Ajoute un nouveau relevé à la liste à l'aide d'une nouvelle fenêtre /// </summary> public Releve_Heure_Atelier Add() { //Affichage du message "ajout en cours" ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = true; ((App)App.Current)._theMainWindow.changementTexteStatusBar("Ajout d'un relevé d'heures atelier en cours ..."); //Initialisation de la fenêtre ReleveHeureAtelierWindow releveHeureAtelierWindow = new ReleveHeureAtelierWindow(); //Création de l'objet temporaire //Mise de l'objet temporaire dans le datacontext Releve_Heure_Atelier tmp = new Releve_Heure_Atelier(); releveHeureAtelierWindow.DataContext = tmp; //Options particulières de la fenêtre releveHeureAtelierWindow.creation = true; releveHeureAtelierWindow.VerrouillerLaFenetre(); //booléen nullable vrai ou faux ou null bool? dialogResult = releveHeureAtelierWindow.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value == true) { //Si j'appuie sur le bouton Ok, je renvoi l'objet se trouvant dans le datacontext de la fenêtre return (Releve_Heure_Atelier)releveHeureAtelierWindow.DataContext; } else { try { //On détache tous les élements liés au relevé Heure_Atelier ObservableCollection<Heure_Atelier> toRemove = new ObservableCollection<Heure_Atelier>(); foreach (Heure_Atelier item in ((Releve_Heure_Atelier)releveHeureAtelierWindow.DataContext).Heure_Atelier) { toRemove.Add(item); } foreach (Heure_Atelier item in toRemove) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache tous les élements liés au relevé Heure_Atelier_Autre ObservableCollection<Heure_Atelier_Autre> toRemove1 = new ObservableCollection<Heure_Atelier_Autre>(); foreach (Heure_Atelier_Autre item in ((Releve_Heure_Atelier)releveHeureAtelierWindow.DataContext).Heure_Atelier_Autre) { toRemove1.Add(item); } foreach (Heure_Atelier_Autre item in toRemove1) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache le relevé ((App)App.Current).mySitaffEntities.Detach((Releve_Heure_Atelier)releveHeureAtelierWindow.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.changementTexteStatusBar("Ajout d'un relevé d'heures atelier annulé : " + this.listReleve.Count() + " / " + this.max); return null; } }
private void _ButtonAffaireAtelierModifier_Click(object sender, RoutedEventArgs e) { if (this._dataGridAtelier.SelectedItems.Count <= 0) { MessageBox.Show("Vous devez sélectionner un atelier à modifier.", "Erreur", MessageBoxButton.OK, MessageBoxImage.Stop); } else if (this._dataGridAtelier.SelectedItems.Count > 1) { MessageBox.Show("Vous ne devez sélectionner qu'un atelier à modifier.", "Erreur", MessageBoxButton.OK, MessageBoxImage.Stop); } else if (this._dataGridChantier.SelectedItem != null) { ReleveHeureAtelierWindow releveHeureAtelierWindow = new ReleveHeureAtelierWindow(); releveHeureAtelierWindow.DataContext = ((Heure_Atelier)this._dataGridAtelier.SelectedItem); bool? dialogResult = releveHeureAtelierWindow.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value == true) { this._dataGridAtelier.SelectedItem = (Heure_Atelier)releveHeureAtelierWindow.DataContext; } else { try { ((App)App.Current).mySitaffEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, (Releve_Heure_Forfait)releveHeureAtelierWindow.DataContext); } catch (Exception) { } } } this._dataGridAtelier.Items.Refresh(); }