public ActionResult FicheFrais(String id)
        {
            ActionResult retour = RedirectToAction("AccueilFrais");

            if (Session["UserID"] == null)
            {
                retour = RedirectToAction("Login");
            }
            else
            {
                FicheDeFraisDAO ficheDeFraisDao = new FicheDeFraisDAO();
                retour = RedirectToAction("AccueilFrais");

                if (!String.IsNullOrWhiteSpace(id) && (Int32.TryParse(id, out int idFicheDeFrais)))
                {
                    if (ficheDeFraisDao.Read(idFicheDeFrais) != null)
                    {
                        FicheDeFrais ficheDeFrais = ficheDeFraisDao.Read(idFicheDeFrais);

                        if ((Request.HttpMethod == "GET") && (Request.Params["action"] != null))
                        {
                            if (Request.Params["action"] == "del")
                            {
                                ficheDeFraisDao.Delete(ficheDeFrais);
                            }
                        }
                        else
                        {
                            ViewBag.ficheDeFrais = ficheDeFrais;
                            retour = View();
                        }
                    }
                }
                else
                {
                    FicheDeFrais ficheDeFrais = new FicheDeFrais();
                    ficheDeFrais.IdVisiteurMedical = Convert.ToInt32(Session["UserID"]);
                    ViewBag.ficheDeFrais           = ficheDeFrais;
                    ficheDeFraisDao.Create(ficheDeFrais);
                    retour = View();
                }
            }
            return(retour);
        }
        public ActionResult FormLigneFrais(String id)
        {
            ActionResult retour = RedirectToAction("AccueilFrais");

            if (Session["UserID"] == null)
            {
                return(RedirectToAction("Login"));
            }
            else
            {
                FicheDeFraisDAO ficheDeFraisDao = new FicheDeFraisDAO();
                LigneDeFraisDAO ligneDeFraisDao = new LigneDeFraisDAO();

                if (!String.IsNullOrWhiteSpace(id))
                {
                    if (Int32.TryParse(id, out int idFicheDeFrais))
                    {
                        if (ficheDeFraisDao.Read(idFicheDeFrais) != null)
                        {
                            FicheDeFrais ficheDeFrais = ficheDeFraisDao.Read(idFicheDeFrais);
                            ViewBag.ficheDeFrais = ficheDeFrais;

                            if ((Request.HttpMethod == "GET") && (Request.Params["action"] != null))
                            {
                                if (Request.Params["ligne"] != null)
                                {
                                    if (Request.Params["action"] == "del")
                                    {
                                        int          idLf = Convert.ToInt32(Request.Params["ligne"]);
                                        LigneDeFrais lf   = ligneDeFraisDao.Read(idLf);
                                        ligneDeFraisDao.Delete(lf);
                                        retour = RedirectToAction("FicheFrais", new { id = ficheDeFrais.Id });
                                    }
                                    else if (Request.Params["action"] == "modif")
                                    {
                                        int          idLf = Convert.ToInt32(Request.Params["ligne"]);
                                        LigneDeFrais lf   = ligneDeFraisDao.Read(idLf);
                                        ViewBag.ligneDeFrais = lf;
                                        retour = View();
                                    }
                                    else
                                    {
                                        retour = RedirectToAction("AccueilFrais");
                                    }
                                }
                                else
                                {
                                    if (Request.Params["action"] == "ajout")
                                    {
                                        ViewBag.ligneDeFrais = new LigneDeFrais();
                                        retour = View();
                                    }
                                    else
                                    {
                                        retour = RedirectToAction("AccueilFrais");
                                    }
                                }
                            }
                        }
                    }
                }
                else if (Request.HttpMethod == "POST")
                {
                    if (Request.Form["formulaireLigneDeFrais"] == "Ajouter")
                    {
                        int    idLigneFrais = Int32.Parse(Request.Form["idLigneFrais"]);
                        int    idFicheFrais = Int32.Parse(Request.Form["idFicheFrais"]);
                        String libelle      = Request.Form["libelle"];
                        Double montant      = double.Parse(Request.Form["montant"]);
                        bool   horsforfait  = (Request.Form["horsforfait"] == "1");
                        bool   report       = (Request.Form["report"] == "1");

                        LigneDeFrais lf = new LigneDeFrais(idLigneFrais, DateTime.Now, montant, libelle, false, false, horsforfait, report);

                        FicheDeFrais ficheDeFrais = ficheDeFraisDao.Read(idFicheFrais);

                        if ((ficheDeFrais.ListeDeLignesDeFrais.Find(lf2 => lf2.Id == idLigneFrais)) != null)
                        {
                            LigneDeFrais ligneDeFrais = (ficheDeFrais.ListeDeLignesDeFrais.Find(lf2 => lf2.Id == idLigneFrais));
                            ligneDeFrais.Id          = lf.Id;
                            ligneDeFrais.Date        = lf.Date;
                            ligneDeFrais.Montant     = lf.Montant;
                            ligneDeFrais.Libelle     = lf.Libelle;
                            ligneDeFrais.Validee     = lf.Validee;
                            ligneDeFrais.Refusee     = lf.Refusee;
                            ligneDeFrais.HorsForfait = lf.HorsForfait;
                            ligneDeFrais.Report      = lf.Report;
                        }
                        else
                        {
                            ficheDeFrais.ListeDeLignesDeFrais.Add(lf);
                        }

                        ficheDeFraisDao.Update(ficheDeFrais);
                        ViewBag.ficheDeFrais = ficheDeFrais;
                        retour = RedirectToAction("FicheFrais", new { id = ficheDeFrais.Id });
                    }
                }
            }
            return(retour);
        }