private void _ButtonAffaireChantierNouveau_Click(object sender, RoutedEventArgs e) { ReleveHeureForfaitWindow releveheureForfaitWindow = new ReleveHeureForfaitWindow(); releveheureForfaitWindow.DataContext = new Releve_Heure_Forfait(); ((Releve_Heure_Forfait)releveheureForfaitWindow.DataContext).Affaire1 = (Affaire)this.DataContext; bool? dialogResult = releveheureForfaitWindow.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value == true) { ((Affaire)this.DataContext).Releve_Heure_Forfait.Add((Releve_Heure_Forfait)releveheureForfaitWindow.DataContext); } else { try { ((App)App.Current).mySitaffEntities.Detach((Releve_Heure_Forfait)releveheureForfaitWindow.DataContext); } catch (Exception) { } } this._dataGridChantier.Items.Refresh(); }
private void _ButtonAffaireChantierModifier_Click(object sender, RoutedEventArgs e) { if (this._dataGridChantier.SelectedItems.Count <= 0) { MessageBox.Show("Vous devez sélectionner un chantier à modifier.", "Erreur", MessageBoxButton.OK, MessageBoxImage.Stop); } else if (this._dataGridChantier.SelectedItems.Count > 1) { MessageBox.Show("Vous ne devez sélectionner qu'un chantier à modifier.", "Erreur", MessageBoxButton.OK, MessageBoxImage.Stop); } else if (this._dataGridChantier.SelectedItem != null) { ReleveHeureForfaitWindow releveheureForfaitWindow = new ReleveHeureForfaitWindow(); releveheureForfaitWindow.DataContext = (Releve_Heure_Forfait)this._dataGridChantier.SelectedItem; bool? dialogResult = releveheureForfaitWindow.ShowDialog(); if (dialogResult.HasValue && dialogResult.Value == true) { this._dataGridChantier.SelectedItem = (Releve_Heure_Forfait)releveheureForfaitWindow.DataContext; } else { try { ((App)App.Current).mySitaffEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, (Releve_Heure_Forfait)releveheureForfaitWindow.DataContext); } catch (Exception) { } } } }
/// <summary> /// Ajoute un nouveau relevé à la liste à l'aide d'une nouvelle fenêtre /// </summary> public Releve_Heure_Forfait 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 forfait en cours ..."); //Initialisation de la fenêtre ReleveHeureForfaitWindow releveHeureForfaitWindow = new ReleveHeureForfaitWindow(); //Création de l'objet temporaire //Mise de l'objet temporaire dans le datacontext releveHeureForfaitWindow.DataContext = new Releve_Heure_Forfait(); //Options particulières de la fenêtre releveHeureForfaitWindow.creation = true; releveHeureForfaitWindow.VerrouillerLaFenetre(); //booléen nullable vrai ou faux ou null bool? dialogResult = releveHeureForfaitWindow.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_Forfait)releveHeureForfaitWindow.DataContext; } else { try { //On détache tous les élements liés au relevé Heure_Forfait ObservableCollection<Heure_Forfait> toRemove = new ObservableCollection<Heure_Forfait>(); foreach (Heure_Forfait item in ((Releve_Heure_Forfait)releveHeureForfaitWindow.DataContext).Heure_Forfait) { toRemove.Add(item); } foreach (Heure_Forfait item in toRemove) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache tous les élements liés au relevé Heure_Regie ObservableCollection<Heure_Regie> toRemove1 = new ObservableCollection<Heure_Regie>(); foreach (Heure_Regie item in ((Releve_Heure_Forfait)releveHeureForfaitWindow.DataContext).Heure_Regie) { toRemove1.Add(item); } foreach (Heure_Regie item in toRemove1) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache tous les élements liés au relevé Travail_Sur_Regie ObservableCollection<Travail_Sur_Regie> toRemove2 = new ObservableCollection<Travail_Sur_Regie>(); foreach (Travail_Sur_Regie item in ((Releve_Heure_Forfait)releveHeureForfaitWindow.DataContext).Travail_Sur_Regie) { toRemove2.Add(item); } foreach (Travail_Sur_Regie item in toRemove2) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache tous les élements liés au relevé Releve_Heure_Forfait_Bouteille_Gaz ObservableCollection<Releve_Heure_Forfait_Bouteille_Gaz> toRemove3 = new ObservableCollection<Releve_Heure_Forfait_Bouteille_Gaz>(); foreach (Releve_Heure_Forfait_Bouteille_Gaz item in ((Releve_Heure_Forfait)releveHeureForfaitWindow.DataContext).Releve_Heure_Forfait_Bouteille_Gaz) { toRemove3.Add(item); } foreach (Releve_Heure_Forfait_Bouteille_Gaz item in toRemove3) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache le relevé ((App)App.Current).mySitaffEntities.Detach((Releve_Heure_Forfait)releveHeureForfaitWindow.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 forfait annulé : " + this.listReleveHeureForfait.Count() + " / " + this.max); return null; } }
/// <summary> /// Ouvre le relevé séléctionné à l'aide d'une nouvelle fenêtre /// </summary> public Releve_Heure_Forfait 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 forfait en cours ..."); //Création de la fenêtre ReleveHeureForfaitWindow releveHeureForfaitWindow = new ReleveHeureForfaitWindow(); //Initialisation du Datacontext en Relevé heure forfait et association au relevé sélectionnée releveHeureForfaitWindow.DataContext = new Releve_Heure_Forfait(); releveHeureForfaitWindow.DataContext = (Releve_Heure_Forfait)this._DataGridMain.SelectedItem; //Mise en place des options particulières releveHeureForfaitWindow.creation = true; //booléen nullable vrai ou faux ou null bool? dialogResult = releveHeureForfaitWindow.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_Forfait)releveHeureForfaitWindow.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_Forfait)(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 forfait annulée : " + this.listReleveHeureForfait.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_Forfait 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 forfait en cours ..."); //Création de la fenêtre ReleveHeureForfaitWindow releveHeureForfaitWindow = new ReleveHeureForfaitWindow(); //Initialisation du Datacontext et association à l'objet sélectionnée releveHeureForfaitWindow.DataContext = new Releve_Heure_Forfait(); releveHeureForfaitWindow.DataContext = (Releve_Heure_Forfait)this._DataGridMain.SelectedItem; //Je positionne la lecture seule sur la fenêtre releveHeureForfaitWindow.lectureSeule(); //J'affiche la fenêtre bool? dialogResult = releveHeureForfaitWindow.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 forfait terminé : " + this.listReleveHeureForfait.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; } }
/// <summary> /// duplique un relevé à la liste à l'aide d'une nouvelle fenêtre /// </summary> public Releve_Heure_Forfait 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 un relevé d'heures forfait en cours ..."); //Création de la fenêtre ReleveHeureForfaitWindow releveHeureForfaitWindow = new ReleveHeureForfaitWindow(); //Duplication de la commande sélectionnée Releve_Heure_Forfait tmp = new Releve_Heure_Forfait(); tmp = duplicateReleve((Releve_Heure_Forfait)this._DataGridMain.SelectedItem); //Association de l'élement dupliqué au datacontext de la fenêtre releveHeureForfaitWindow.DataContext = tmp; //booléen nullable vrai ou faux ou null bool? dialogResult = releveHeureForfaitWindow.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_Forfait)releveHeureForfaitWindow.DataContext; } else { try { //On détache tous les élements liés au relevé Heure_Forfait ObservableCollection<Heure_Forfait> toRemove = new ObservableCollection<Heure_Forfait>(); foreach (Heure_Forfait item in ((Releve_Heure_Forfait)releveHeureForfaitWindow.DataContext).Heure_Forfait) { toRemove.Add(item); } foreach (Heure_Forfait item in toRemove) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache tous les élements liés au relevé Heure_Regie ObservableCollection<Heure_Regie> toRemove1 = new ObservableCollection<Heure_Regie>(); foreach (Heure_Regie item in ((Releve_Heure_Forfait)releveHeureForfaitWindow.DataContext).Heure_Regie) { toRemove1.Add(item); } foreach (Heure_Regie item in toRemove1) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache tous les élements liés au relevé Travail_Sur_Regie ObservableCollection<Travail_Sur_Regie> toRemove2 = new ObservableCollection<Travail_Sur_Regie>(); foreach (Travail_Sur_Regie item in ((Releve_Heure_Forfait)releveHeureForfaitWindow.DataContext).Travail_Sur_Regie) { toRemove2.Add(item); } foreach (Travail_Sur_Regie item in toRemove2) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache tous les élements liés au relevé Releve_Heure_Forfait_Bouteille_Gaz ObservableCollection<Releve_Heure_Forfait_Bouteille_Gaz> toRemove3 = new ObservableCollection<Releve_Heure_Forfait_Bouteille_Gaz>(); foreach (Releve_Heure_Forfait_Bouteille_Gaz item in ((Releve_Heure_Forfait)releveHeureForfaitWindow.DataContext).Releve_Heure_Forfait_Bouteille_Gaz) { toRemove3.Add(item); } foreach (Releve_Heure_Forfait_Bouteille_Gaz item in toRemove3) { ((App)App.Current).mySitaffEntities.Detach(item); } //On détache le relevé ((App)App.Current).mySitaffEntities.Detach((Releve_Heure_Forfait)releveHeureForfaitWindow.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; ((App)App.Current)._theMainWindow.changementTexteStatusBar("Dupliquer un relevé d'heures forfait annulé."); 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; } }