/// <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 Releve_Heure_Atelier soit pour l'ajouter au listing, soit pour afficher qui a été modifié ou supprimé</param> public void MiseAJourEtat(string typeEtat, Releve_Heure_Atelier rha) { //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.changementTexteStatusBar("filtrage des commandes fournisseur terminée : " + this.listReleve.Count() + " / " + this.max); } else if (typeEtat == "Ajout") { //J'ajoute la commande_fournisseur dans le linsting this.listReleve.Add(rha); //Je racalcul le nombre max d'élements après l'ajout this.recalculMax(); ((App)App.Current)._theMainWindow.changementTexteStatusBar("Ajout d'un relevé d'atelier effectué avec succès. Nombre d'élements : " + this.listReleve.Count() + " / " + this.max); try { this._DataGridMain.SelectedItem = rha; } catch (Exception) { } } else if (typeEtat == "Modification") { //Je raffraichis mon datagrid this._DataGridMain.Items.Refresh(); ((App)App.Current)._theMainWindow.changementTexteStatusBar("Modification du relevé d'atelier effectuée avec succès. Nombre d'élements : " + this.listReleve.Count() + " / " + this.max); } else if (typeEtat == "Suppression") { //Je supprime de mon listing l'élément supprimé this.listReleve.Remove(rha); //Je racalcul le nombre max d'élements après la suppression this.recalculMax(); ((App)App.Current)._theMainWindow.changementTexteStatusBar("Suppression du relevé d'atelier effectuée avec succès. Nombre d'élements : " + this.listReleve.Count() + " / " + this.max); } else if (typeEtat == "Look") { } else if (typeEtat == "Duplicate") { //J'ajoute la commande_fournisseur dans le linsting this.listReleve.Add(rha); //Je racalcul le nombre max d'élements après l'ajout this.recalculMax(); ((App)App.Current)._theMainWindow.changementTexteStatusBar("Dupliquer un relevé atelier numéro effectué avec succès. Nombre d'élements : " + this.listReleve.Count() + " / " + this.max); } else { ((App)App.Current)._theMainWindow.changementTexteStatusBar("Chargement des relevés d'atelier terminé : " + this.listReleve.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; }
/// <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; } }