/// <summary>
        /// Ouvre le rapport congé séléctionné
        /// </summary>
        public Conge RapportImprimer()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    ReportingWindow reportingWindow = new ReportingWindow();
                    long toShow = ((Conge)this._DataGridMain.SelectedItem).Identifiant;
                    reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fCONGES&rs:Command=Render&ReportParameter1=" + toShow);
                    reportingWindow.Title = "Rapport pour impression : congé de - " + ((Conge)this._DataGridMain.SelectedItem).Salarie1.Personne.fullname + "-";

                    bool? dialogResult = reportingWindow.ShowDialog();
                    return null;
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'un seul congé.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return null;
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner un congé.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return null;
            }
        }
        /// <summary>
        /// Ouvre le rapport séléctionné
        /// </summary>
        public void RapportReleveActiviteParSalarie()
        {
            ReportingWindow reportingWindow = new ReportingWindow();
            reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fHEURES%2freleve+activite&rs:Command=Render");
            reportingWindow.Title = "Rapport pour relevé d'activité";

            reportingWindow.Show();
        }
        public Commande_Fournisseur RapportImprimerSansPrix()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    try
                    {
                        ReportingWindow reportingWindow = new ReportingWindow();
                        long toShow = ((Ordre_Mission)this._DataGridMain.SelectedItem).Mission_Tiers1.Commande_Fournisseur1.Identifiant;
                        reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fACHATS%2fCOMMANDE+FOURNITURE&rs:Command=Render&Commande_Fournisseur=" + toShow + "&affichage_montant=false");
                        reportingWindow.Title = "Rapport pour impression : commande n° - " + ((Ordre_Mission)this._DataGridMain.SelectedItem).Mission_Tiers1.Commande_Fournisseur1.Numero + "-";

                        reportingWindow.Show();
                        return null;
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("L'ordre de mission n'a pas de commande");
                        return null;
                    }
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'une seule commande fournisseur.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return null;
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner une commande fournisseur.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return null;
            }
        }
        /// <summary>
        /// Ouvre le rapport séléctionné
        /// </summary>
        public void RapportReleveFacture()
        {
            ReportingWindow reportingWindow = new ReportingWindow();
            reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fFactures%2fReleve_fact_fournisseur&rs:Command=Render");
            reportingWindow.Title = "Rapport pour relevé de facture(s)";

            reportingWindow.Show();
        }
        public void RapportTendance()
        {
            if (this._dataGridFournisseur.SelectedItem != null)
            {
                if (this._dataGridFournisseur.SelectedItems.Count == 1)
                {
                    ReportingWindow reportingWindow = new ReportingWindow();
                    //long fourToShow = ((ItemShop)this._dataGridFournisseur.SelectedItem).idFournisseur;
                    long fourToShow = this.getIdFournisseur(((ItemShop)this._dataGridFournisseur.SelectedItem).Fournisseur);
                    string referenceToShow = ((ItemShop)this._dataGridFournisseur.SelectedItem).Reference;
                    reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fProduitEvolution&rs:Command=Render&Fournisseur=" + fourToShow + "&Reference=" + referenceToShow);
                    reportingWindow.Title = "Tendance de prix";

                    reportingWindow.Show();
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'un seul produit.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner un produit.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
        public void RapportImprimerDOE()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    ReportingWindow reportingWindow = new ReportingWindow();
                    long toShow = ((Affaire)this._DataGridMain.SelectedItem).Identifiant;
                    reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fAFFAIRE%2fDOE%2fListe_Fournisseur_DOE&rs:Command=Render&Affaire=" + toShow);
                    reportingWindow.Title = "Liste fournisseurs DOE";

                    reportingWindow.Show();
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'une seule affaire.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner une affaire.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
        public Affaire RapportImprimer()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    ReportingWindow reportingWindow = new ReportingWindow();
                    long toShow = ((Affaire)this._DataGridMain.SelectedItem).Identifiant;
                    reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fAFFAIRE%2fFiche+de+dossier&rs:Command=Render&N_AFFAIRE=" + toShow);
                    reportingWindow.Title = "Rapport pour impression : dossier d'affaire numéro - " + ((Affaire)this._DataGridMain.SelectedItem).Numero + "-";

                    reportingWindow.Show();

                    ((Affaire)this._DataGridMain.SelectedItem).Printed = true;
                    try
                    {
                        ((App)App.Current).mySitaffEntities.SaveChanges();
                    }
                    catch (Exception) { }

                    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;
            }
        }
        public void afficherRendements()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    try
                    {
                        ReportingWindow reportingWindow = new ReportingWindow();
                        long toShowEntreprise_Mere = ((Affaire)this._DataGridMain.SelectedItem).Entreprise_Mere1.Identifiant;
                        long toShowCharge_Affaire = ((Affaire)this._DataGridMain.SelectedItem).Salarie.Identifiant;
                        long? toShowExercice = null;
                        foreach (Exercice item in ((App)App.Current).mySitaffEntities.Exercice)
                        {
                            if (item.Date_Debut <= DateTime.Now && item.Date_Fin >= DateTime.Now)
                            {
                                toShowExercice = item.Identifiant;
                            }
                        }
                        if (toShowExercice == null)
                        {
                            foreach (Exercice item in ((App)App.Current).mySitaffEntities.Exercice)
                            {
                                toShowExercice = item.Identifiant;
                            }
                        }
                        long toShowAffaire = ((Affaire)this._DataGridMain.SelectedItem).Identifiant;
                        reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fRENDEMENTS%2fRendements+Alexandre&rs:Command=Render&Entreprise_Mere=" + toShowEntreprise_Mere + "&Charge_Affaire=" + toShowCharge_Affaire + "&Exercice=" + toShowExercice + "&Affaire=" + toShowAffaire + "&TEC_AU:IsNull=True");
                        reportingWindow.Title = "Rendements de l'affaire : " + ((Affaire)this._DataGridMain.SelectedItem).Numero;

                        reportingWindow.Show();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Erreur, impossible d'afficher le rapport ! Vérifiez que l'affaire est bien reliée à une entreprise mère, qu'un chargé d'affaire soit bien renseigné. Sinon, contactez l'administrateur du logiciel.");
                    }
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'une seule affaire.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner une affaire.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
        private void RapportImprimerdifferenceprixgeneral()
        {
            ReportingWindow reportingWindow = new ReportingWindow();
            reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fRapportGeneralPrixFournisseur&rs:Command=Render");
            reportingWindow.Title = "Différences prix produits fournisseur";

            reportingWindow.Show();
        }
        private void RapportImprimerdifferenceprix()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    if (((Entreprise)this._DataGridMain.SelectedItem).Fournisseur != null)
                    {
                        ReportingWindow reportingWindow = new ReportingWindow();
                        long toShow = ((Entreprise)this._DataGridMain.SelectedItem).Identifiant;
                        reportingWindow._webBrowser.Source = new Uri("http://srv-sql/ReportServer/Pages/ReportViewer.aspx?%2fRapportPrixFournisseur&rs:Command=Render&Fournisseur=" + toShow);
                        reportingWindow.Title = "Différences prix produits fournisseur";

                        reportingWindow.Show();
                    }
                    else
                    {
                        MessageBox.Show("L'entreprise n'est pas fournisseur. Le rapport n'est donc pas disponible.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    }
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'une seule affaire.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner une affaire.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }