public ActionResult FicheCompteRendu(String id)
        {
            ActionResult retour;

            if (Session["UserID"] == null)
            {
                retour = RedirectToAction("Login");
            }
            else
            {
                CompteRenduDAO crDao = new CompteRenduDAO();
                retour = RedirectToAction("AccueilCR", new { id = "Listedescompterendus" });

                if (!String.IsNullOrWhiteSpace(id))
                {
                    if (Int32.TryParse(id, out int idCompteRendu))
                    {
                        if (crDao.Read(idCompteRendu) != null)
                        {
                            CompteRendu cr = crDao.Read(idCompteRendu);
                            ViewBag.cr = cr;
                            retour     = View();
                        }
                    }
                }
            }
            return(retour);
        }
        public ActionResult AccueilCR(string id)
        {
            ActionResult retour = View();

            if (Session["UserID"] == null)                  // pour chaque page on verifie qu'une session existe
            {
                retour = RedirectToAction("Login");
            }
            else
            {
                CompteRenduDAO       crDao                  = new CompteRenduDAO();
                EtablissementDAO     etabDao                = new EtablissementDAO();
                ContactDAO           contactDao             = new ContactDAO();
                ProduitDAO           produitDao             = new ProduitDAO();
                List <CompteRendu>   listeCompteRendus      = crDao.RetournerTousLesCompteRendus();
                List <CompteRendu>   rechercheCompteRendu   = new List <CompteRendu>();
                List <Etablissement> listeEtablissements    = etabDao.RetournerTousLesEtablissements();
                List <Etablissement> rechercheEtablissement = new List <Etablissement>();
                List <Contact>       listeContacts          = contactDao.RetournerTousLesContacts();
                List <Contact>       rechercheContact       = new List <Contact>();
                List <Produit>       listeProduits          = produitDao.RetournerTousLesProduits();
                List <Produit>       rechercheProduit       = new List <Produit>();


                ViewBag.listeCompteRendus         = listeCompteRendus;
                ViewBag.listeEtablissements       = listeEtablissements;
                ViewBag.listeContacts             = listeContacts;
                ViewBag.listeProduits             = listeProduits;
                ViewBag.afficherListeCompteRendus = false;
                ViewBag.afficherListeEtab         = false;
                ViewBag.afficherListeContacts     = false;
                ViewBag.afficherListeProduits     = false;

                if (!String.IsNullOrWhiteSpace(id))
                {
                    if (id == "Listedesetablissements")
                    {
                        ViewBag.afficherListeEtab = true;
                    }
                    else if (id == "Listedescontacts")
                    {
                        ViewBag.afficherListeContacts = true;
                    }
                    else if (id == "Listedesproduits")
                    {
                        ViewBag.afficherListeProduits = true;
                    }
                    else
                    {
                        ViewBag.afficherListeCompteRendus = true;
                    }
                }

                //Fonction de recherche
                if (Request.HttpMethod == "POST")                                               // Evenement clic sur le bouton de recherche
                {
                    if (Request.Form["rechercheEtab"] != null)                                  // on test si la recherche n'est pas vide
                    {
                        string recherche = MettreEnMinuscule(Request.Form["rechercheEtab"]);    // on met la recherche en lettres minuscules (pour correspondre avec la BD)
                        ViewBag.afficherListeEtab = true;

                        foreach (Etablissement etab in listeEtablissements)                                                             // pour chaque etablissement de la liste de d'etablissement
                        {
                            if (MettreEnMinuscule(etab.Nom).Contains(recherche) || MettreEnMinuscule(etab.Adresse).Contains(recherche)) // on compare la recherche avec la BD
                            {
                                rechercheEtablissement.Add(etab);                                                                       // pour chaque correspondance on ajoute dans la liste de recherche
                            }
                        }
                        ViewBag.listeEtablissements = rechercheEtablissement;           // on change l'ancienne liste affichée sur la View
                    }

                    else if (Request.Form["rechercheContact"] != null)
                    {
                        string recherche = MettreEnMinuscule(Request.Form["rechercheContact"]);
                        ViewBag.afficherListeContacts = true;

                        foreach (Contact contact in listeContacts)
                        {
                            if (MettreEnMinuscule(contact.Nom).Contains(recherche) || MettreEnMinuscule(contact.Prenom).Contains(recherche))
                            {
                                rechercheContact.Add(contact);
                            }
                        }
                        ViewBag.listeContacts = rechercheContact;
                    }

                    else if (Request.Form["rechercheProduit"] != null)
                    {
                        string recherche = MettreEnMinuscule(Request.Form["rechercheProduit"]);
                        ViewBag.afficherListeProduits = true;

                        foreach (Produit produit in listeProduits)
                        {
                            if (MettreEnMinuscule(produit.Designation).Contains(recherche) || MettreEnMinuscule(produit.Description).Contains(recherche))
                            {
                                rechercheProduit.Add(produit);
                            }
                        }
                        ViewBag.listeProduits = rechercheProduit;
                    }

                    else if (Request.Form["rechercheCompteRendu"] != null)
                    {
                        string recherche = MettreEnMinuscule(Request.Form["rechercheCompteRendu"]);
                        ViewBag.afficherListeCompteRendus = true;

                        foreach (CompteRendu compteRendu in listeCompteRendus)
                        {
                            if (MettreEnMinuscule(compteRendu.Titre).Contains(recherche) || MettreEnMinuscule(compteRendu.Contenu).Contains(recherche))
                            {
                                rechercheCompteRendu.Add(compteRendu);
                            }
                        }
                        ViewBag.listeCompteRendus = rechercheCompteRendu;
                    }
                }
            }
            return(retour);
        }
        public ActionResult FormCompteRendu(String id)
        {
            ActionResult retour = View();

            if (Session["UserID"] == null)
            {
                retour = RedirectToAction("Login");
            }
            else
            {
                CompteRenduDAO     crDao = new CompteRenduDAO();
                VisiteurMedicalDAO visiteurMedicalDao = new VisiteurMedicalDAO();
                ContactDAO         contactDao         = new ContactDAO();
                EtablissementDAO   etabDao            = new EtablissementDAO();
                ProduitDAO         produitDao         = new ProduitDAO();

                CompteRendu cr = new CompteRendu();
                ViewBag.cr = cr;

                List <VisiteurMedical> listeVisiteursMedicaux = visiteurMedicalDao.RetournerTousLesVisiteursMedicaux();
                ViewBag.listeVisiteursMedicaux = listeVisiteursMedicaux;

                List <Contact> listeContacts = contactDao.RetournerTousLesContacts();
                ViewBag.listeContacts = listeContacts;

                List <Etablissement> listeEtablissements = etabDao.RetournerTousLesEtablissements();
                ViewBag.listeEtablissements = listeEtablissements;

                List <Produit> listeProduits = produitDao.RetournerTousLesProduits();
                ViewBag.listeProduits = listeProduits;

                if (Request.HttpMethod == "POST")
                {
                    int                idCompteRendu    = Int32.Parse(Request.Form["idCompteRendu"]);
                    VisiteurMedical    visiteurMedical  = listeVisiteursMedicaux.Find(vm => vm.Id == Int32.Parse(Request.Form["visiteurMedical"]));
                    Contact            contact          = listeContacts.Find(cont => cont.Id == Int32.Parse(Request.Form["contact"]));
                    Etablissement      etablissement    = listeEtablissements.Find(etab => etab.Id == Int32.Parse(Request.Form["etablissement"]));
                    string             titre            = Request.Form["titre"];
                    string             contenu          = Request.Form["contenu"];
                    DateTime           date             = Convert.ToDateTime(Request.Form["date"]);
                    List <Echantillon> listeEchantillon = new List <Echantillon>();


                    cr = new CompteRendu(idCompteRendu, visiteurMedical, contact, etablissement, titre, contenu, date, listeEchantillon);

                    if (idCompteRendu == 0)
                    {
                        crDao.Create(cr);
                    }
                    else
                    {
                        crDao.Update(cr);
                    }
                    ViewBag.cr = cr;

                    retour = View("FicheCompteRendu");
                }
                else
                {
                    if (!String.IsNullOrWhiteSpace(id))
                    {
                        if (Int32.TryParse(id, out int idCompteRendu))
                        {
                            if (etabDao.Read(idCompteRendu) != null)
                            {
                                cr = crDao.Read(idCompteRendu);
                                if ((Request.HttpMethod == "GET") && (Request.Params["action"] != null))
                                {
                                    if (Request.Params["action"] == "del")
                                    {
                                        crDao.Delete(cr);
                                        retour = RedirectToAction("FicheCompteRendu");
                                    }
                                }
                                else
                                {
                                    ViewBag.cr = cr;
                                }
                            }
                        }
                    }
                }
            }
            return(retour);
        }