public ActionResult ENREGISTRERRESULTAT(String Id)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "ENREGISTRER_RESULTAT"))
                {
                    EXAMEN Examen = dal.ObtenirExamenParId(CRYPTAGE.StringHelpers.Encrypt(Id));
                    if (Examen != null)
                    {
                        ResultatVM RVM = new ResultatVM();

                        RVM.ExamenId      = Examen.ExamenID;
                        RVM.ExamenType    = Examen.ExamenType.Libelle;
                        RVM.ReferenceExam = CRYPTAGE.StringHelpers.Decrypt(Examen.Reference);
                        //RVM.Description = CRYPTAGE.StringHelpers.Decrypt(Examen.Description);
                        RVM.Patient = CRYPTAGE.StringHelpers.Decrypt(Examen.Dossier.Patient.Nom) + " " + CRYPTAGE.StringHelpers.Decrypt(Examen.Dossier.Patient.Nom);
                        RVM.Medecin = CRYPTAGE.StringHelpers.Decrypt(Examen.Utilisateur.Personne.Nom) + " " + CRYPTAGE.StringHelpers.Decrypt(Examen.Utilisateur.Personne.Prenom);


                        List <EXAMENDETAILS>   examDetails   = dal.ObtenirExamenDetailsParExamenId(Examen.ExamenID);
                        List <ExamenDetailsVM> examDetailsVM = new List <ExamenDetailsVM>();

                        ExamenDetailsVM examMVM;

                        foreach (var examDetail in examDetails)
                        {
                            examMVM = new ExamenDetailsVM();
                            examDetailsVM.Add(dal.ConvertirExamenDetailsExamenDetailsVM(examDetail));
                        }

                        RVM.Examens = examDetailsVM;

                        return(View("FormulaireAjoutResultat", RVM));
                    }
                    else
                    {
                        ViewBag.ErrorMessage = "Veuillez séléctionner un Examen svp.";
                        return(View("Error"));
                    }
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }
        public ActionResult ENREGISTRERRESULTAT(ResultatVM RVM, String[] IdsExamenPrescris, String[] Resultats, String[] Commentaires)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "ENREGISTRER_RESULTAT"))
                {
                    if (ModelState.IsValid)
                    {
                        List <ResultatVM2> ListeIdsExamenPrescris = new List <ResultatVM2>();
                        ResultatVM2        ExamenPrescris;


                        if (IdsExamenPrescris != null)
                        {
                            int i = 0;
                            foreach (var ExamId in IdsExamenPrescris)
                            {
                                if (ExamId != "false")
                                {
                                    ExamenPrescris = new ResultatVM2();

                                    ExamenPrescris.ExamenId = ExamId;

                                    if (Resultats[i] == "on")
                                    {
                                        ExamenPrescris.EstNegatif = false;
                                    }
                                    else
                                    {
                                        ExamenPrescris.EstNegatif = true;
                                    }

                                    ExamenPrescris.Description = Commentaires[i];

                                    ListeIdsExamenPrescris.Add(ExamenPrescris);
                                }
                                i += 1;
                            }
                        }

                        RESULTAT result = new RESULTAT();

                        result.Examen      = dal.ObtenirExamenParId(RVM.ExamenId);
                        result.Description = RVM.Description;

                        if (ListeIdsExamenPrescris != null)
                        {
                            result.ResultatID = dal.EnregistrerResultat(result);

                            if (result.ResultatID != null)
                            {
                                foreach (var Exam in ListeIdsExamenPrescris)
                                {
                                    EXAMENDETAILS ExamDetails = dal.ObtenirExamenDetailsParId(Exam.Id);
                                    if (ExamDetails != null)
                                    {
                                        ExamDetails.Description = Exam.Description;
                                        ExamDetails.EstNegatif  = Exam.EstNegatif;

                                        dal.EnregistrerExamenDetails(ExamDetails);
                                    }
                                }
                            }
                        }

                        return(RedirectToAction("CONSULTERLISTERESULTATS"));
                    }
                    return(RedirectToAction("ENREGISTRERRESULTAT"));
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }