private void bntImprimer_Click(object sender, EventArgs e)
        {
            db = new dbStockContext();
            int    idselect     = 0;
            string Nomcategorie = null;

            RAP.FRM_RAPPORT frmRprt = new RAP.FRM_RAPPORT();
            Produit         PR      = new Produit();


            if (SelectVerif() != null)
            {
                MessageBox.Show(SelectVerif(), "Impression", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                for (int i = 0; i < dgvProduit.Rows.Count; i++)
                {
                    if ((bool)dgvProduit.Rows[i].Cells[0].Value == true)             // si la ligne est cochée
                    {
                        idselect     = (int)dgvProduit.Rows[i].Cells[1].Value;       // id de ligne selectionné
                        Nomcategorie = dgvProduit.Rows[i].Cells[5].Value.ToString(); //Nom catégorie
                    }
                }
                ///////////////////////////////////////////////////////////////////
                PR = db.Produits.SingleOrDefault(s => s.ID_PRODUIT == idselect);
                if (PR != null) // si le produit existe
                {
                    // donner le rapport
                    frmRprt.RPAfficher.LocalReport.ReportEmbeddedResource = "GestionDeStock.RAP.RPT_Produit.rdlc";
                    //using microsoft reporting windforms necessaire
                    ReportParameter Pcategorie = new ReportParameter("RPCategorie", Nomcategorie);                  // nom categorie
                    ReportParameter PNom       = new ReportParameter("RPNom", PR.Nom_Produit);                      // nom categorie
                    ReportParameter Pquantite  = new ReportParameter("RPQuantite", PR.Quantite_Produit.ToString()); // nom categorie
                    ReportParameter PPrix      = new ReportParameter("RPPrix", PR.Prix_Produit);                    // nom categorie

                    //Image, doit être covertie

                    string          ImageString = Convert.ToBase64String(PR.Image_Produit);
                    ReportParameter Pimage      = new ReportParameter("RPImage", ImageString);

                    //Save les nouveaux paramettres dans le rapport
                    frmRprt.RPAfficher.LocalReport.SetParameters(new ReportParameter[] { Pcategorie, PNom, Pquantite, PPrix, Pimage });
                    frmRprt.RPAfficher.RefreshReport();
                    frmRprt.ShowDialog(); // affiche formulaire de rapport
                }
            }
        }
        private void btnImprimer_Click(object sender, EventArgs e)
        {
            db = new dbStockContext();
            RAP.FRM_RAPPORT frmrap = new RAP.FRM_RAPPORT();
            try
            {
                int IdCommande     = (int)dvgCommande.CurrentRow.Cells[0].Value;
                var Commande       = db.Commandes.Single(s => s.ID_Commande == IdCommande);
                var ClientCommande = db.Clients.Single(s => s.ID_Client == Commande.ID_Client);
                var listedetail    = db.Details_Commande.Where(s => s.ID_Commande == IdCommande).ToList();
                frmrap.RPT_Afficher.LocalReport.ReportEmbeddedResource = "GestionDeStockC.RAP.RPT_Commande.rdlc";
                frmrap.RPT_Afficher.LocalReport.DataSources.Add(new ReportDataSource("dataCommande", listedetail));
                ReportParameter NomPrenom = new ReportParameter("NomPrenom", ClientCommande.Nom_Client + " " + ClientCommande.Prenom_Client);

                ReportParameter Adresse        = new ReportParameter("Adresse", ClientCommande.Adresse_Client);
                ReportParameter Telephone      = new ReportParameter("Telephone", ClientCommande.Telephone_Client);
                ReportParameter Mail           = new ReportParameter("Email", ClientCommande.Email_Client);
                ReportParameter NumeroCommande = new ReportParameter("IDCommande", IdCommande.ToString());
                ReportParameter DateCommande   = new ReportParameter("DateCommande", Commande.DATE_Commande.ToString());
                ReportParameter TotalHt        = new ReportParameter("TotalHT", Commande.Total_HT);
                ReportParameter TVA            = new ReportParameter("TVA", Commande.TVA);
                ReportParameter TotalTtc       = new ReportParameter("TotalTTC", Commande.Total_TTC);

                /**
                 * MessageBox.Show(Commande.ToString());
                 * MessageBox.Show(ClientCommande.ToString());
                 * MessageBox.Show(listedetail.ToString());
                 * MessageBox.Show(NomPrenom.ToString());
                 * MessageBox.Show(Adresse.ToString());
                 * MessageBox.Show(Telephone.ToString());
                 * MessageBox.Show(Mail.ToString());
                 * MessageBox.Show(NumeroCommande.ToString());
                 * MessageBox.Show(DateCommande.ToString());
                 * MessageBox.Show(TotalHt.ToString());
                 * MessageBox.Show(TotalTtc.ToString());
                 * MessageBox.Show(TVA.ToString());
                 **/
                frmrap.RPT_Afficher.LocalReport.SetParameters(new ReportParameter[] { NomPrenom, Adresse, Telephone, Mail, NumeroCommande, DateCommande, TotalHt, TVA, TotalTtc });
                frmrap.RPT_Afficher.RefreshReport();
                frmrap.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void btnImprimerTout_Click(object sender, EventArgs e)
        {
            RAP.FRM_RAPPORT frmRprt = new RAP.FRM_RAPPORT();
            db = new dbStockContext();
            try
            {
                var listeProduit = db.Produits.ToList();

                frmRprt.RPAfficher.LocalReport.ReportEmbeddedResource = "GestionDeStock.RAP.RPT_LISTE_PRODUIT.rdlc";
                frmRprt.RPAfficher.LocalReport.DataSources.Add(new ReportDataSource("databseproduit", listeProduit)); //list de produits
                ReportParameter date = new ReportParameter("Date", DateTime.Now.ToString());                          //date systeme
                frmRprt.RPAfficher.LocalReport.SetParameters(new ReportParameter[] { date });
                frmRprt.RPAfficher.RefreshReport();
                frmRprt.ShowDialog();
            }
            catch (Exception EX)
            {
                MessageBox.Show(EX.Message);
            }
        }