/// <summary>
        /// Ajoute une nouvelle affaire à la liste à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Affaire Add()
        {
            AffaireWindow affaireWindow = new AffaireWindow();
            Affaire tmp = new Affaire();
            affaireWindow.DataContext = tmp;

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

            if (dialogResult.HasValue && dialogResult.Value == true)
            {
                return (Affaire)affaireWindow.DataContext;
            }
            else
            {
                try
                {
                    ((App)App.Current).mySitaffEntities.Detach((Affaire)affaireWindow.DataContext);
                }
                catch (Exception)
                {
                }
                return null;
            }
        }
        private bool Verif_comboBoxAffaire()
        {
            bool verif = true;

            if (this._comboBoxAffaire.SelectedItem == null)
            {
                verif = true;
                this.affaire = null;
                this.listCommande_Fournisseur = new ObservableCollection<Commande_Fournisseur>(((App)App.Current).mySitaffEntities.Commande_Fournisseur.OrderBy(com => com.Numero));
            }
            else
            {
                verif = true;
                this.affaire = (Affaire)this._comboBoxAffaire.SelectedItem;
                this._comboBoxCommande.ItemsSource = ((Affaire)this._comboBoxAffaire.SelectedItem).Commande_Fournisseur;
            }
            ((App)App.Current).verifications.MettreComboxEnCouleur(this._comboBoxAffaire, this._textBlockAffaire, verif);
            return verif;
        }
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     this.verrouillerVersions();
     this._TreeViewPassageAffaire.ItemsSource = devis.Versions;
     this.temporaire = new Affaire();
     this.temporaire.Numero = this.devis.Numero;
     this.listAffaires = new ObservableCollection<Affaire>();
     if (((App)App.Current).mySitaffEntities.Affaire.Where(aff => aff.Numero == this.temporaire.Numero).Count() < 1)
     {
         this.listAffaires.Add(this.temporaire);
     }
     foreach (Affaire aff in ((App)App.Current).mySitaffEntities.Affaire.OrderBy(affa => affa.Numero))
     {
         this.listAffaires.Add(aff);
     }
     ((App)App.Current)._theMainWindow.Cursor = ((App)App.Current)._mainCursor;
 }
 private void _checkBoxAffaire_Unchecked(object sender, RoutedEventArgs e)
 {
     this.affaire = null;
     this._comboBoxAffaire.IsEnabled = false;
 }
        private bool Verif_comboBoxAffaire()
        {
            bool verif = true;

            if (this._checkBoxAffaire.IsChecked == true)
            {
                if (this._comboBoxAffaire.SelectedItem == null)
                {
                    verif = false;
                }
                else
                {
                    verif = true;
                    this.affaire = (Affaire)this._comboBoxAffaire.SelectedItem;
                }
            }
            else
            {
                verif = true;
                this.affaire = null;
            }

            ((App)App.Current).verifications.MettreComboxEnCouleur(this._comboBoxAffaire, this._textBlockAffaire, verif);

            return verif;
        }
        /// <summary>
        /// Ouvre l'affaire séléctionnée à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Affaire Open()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    AffaireWindow affaireWindow = new AffaireWindow();
                    Affaire tmp = new Affaire();
                    affaireWindow.DataContext = tmp;

                    affaireWindow.DataContext = this._DataGridMain.SelectedItem;

                    bool? dialogResult = affaireWindow.ShowDialog();
                    if (dialogResult.HasValue && dialogResult.Value == true)
                    {
                        return (Affaire)affaireWindow.DataContext;
                    }
                    else
                    {
                        return null;
                    }
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'une seule affaire.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return null;
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner une affaire.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return null;
            }
        }
        /// <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 Ordre_Mission soit pour l'ajouter au listing, soit pour afficher qui a été modifié ou supprimé</param>
        public void MiseAJourEtat(string typeEtat, Affaire om)
        {
            //Je recalcul 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 affaires terminé : " + this.listAffaire.Count() + " / " + this.max);
            }
            else if (typeEtat == "Ajout")
            {
                //J'ajoute affaire dans le linsting
                this.listAffaire.Add(om);
                //Je recalcul le nombre max d'élements après l'ajout
                this.recalculMax();
                ((App)App.Current)._theMainWindow.changementTexteStatusBar("Ajout d'une affaire effectué avec succès. Nombre d'élements : " + this.listAffaire.Count() + " / " + this.max);
                try
                {
                    this._DataGridMain.SelectedItem = om;
                }
                catch (Exception) { }
            }
            else if (typeEtat == "Modification")
            {
                //Je raffraichis mon datagrid
                this._DataGridMain.Items.Refresh();
                ((App)App.Current)._theMainWindow.changementTexteStatusBar("Modification de l'affaire effectué avec succès. Nombre d'élements : " + this.listAffaire.Count() + " / " + this.max);
            }
            else if (typeEtat == "Suppression")
            {
                //Je supprime de mon listing l'élément supprimé
                this.listAffaire.Remove(om);
                //Je recalcul le nombre max d'élements après la suppression
                this.recalculMax();
                ((App)App.Current)._theMainWindow.changementTexteStatusBar("Suppression de l'affaire effectué avec succès. Nombre d'élements : " + this.listAffaire.Count() + " / " + this.max);
            }
            else if (typeEtat == "Look")
            {

            }
            else if (typeEtat == "Fusion")
            {
                //Je supprime de mon listing l'élément supprimé
                this.listAffaire.Remove(om);
                //Je recalcul le nombre max d'élements après la suppression
                this.recalculMax();
                ((App)App.Current)._theMainWindow.changementTexteStatusBar("Fusion de l'affaire effectué avec succès.");
            }
            else
            {
                ((App)App.Current)._theMainWindow.changementTexteStatusBar("Chargement des affaires terminé : " + this.listAffaire.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;
        }