/*
         * Affichage de la liste des Themes
         */
        public ActionResult Browse()
        {
            // On récupère dans la BDD, la liste de tous les Subjects
            List<Subject> listOfSubject = subjectRepository.GetAll().ToList<Subject>();

            // On crée une liste des ThemeDisplayer, qui contiendra la liste des ThemeDisplayer
            // retournée
            List<ThemeDisplayer> listOfThemeDisplayer = new List<ThemeDisplayer>();

            // Remplissage de la liste des ThemeDisplayer
            foreach (Subject tempSubject in listOfSubject)
            {
                ThemeDisplayer tempThemeDisplayer = new ThemeDisplayer();
                tempThemeDisplayer.themeID = tempSubject.ID;
                tempThemeDisplayer.nom = tempSubject.Name;
                tempThemeDisplayer.iconUrl = tempSubject.IconPath;
                tempThemeDisplayer.nombreDeCours = coursRepository.GetCoursBySubjectID(tempSubject.ID).ToList<Cours>().Count();
                listOfThemeDisplayer.Add(tempThemeDisplayer);
            }
            ViewBag.listThemes = listOfThemeDisplayer;
            return View();
        }
        public ActionResult DocEditor()
        {
            // On récupère dans la BDD, la liste de tous les Subjects
            List<Subject> listOfSubject = subjectRepository.GetAll().ToList<Subject>();
            // On récupère dans la BDD, la liste de tous les Levels
            List<Level> listOfLevel = levelRepository.GetAll().ToList<Level>();

            // On crée une liste des ThemeDisplayer, qui contiendra la liste des ThemeDisplayer
            // retournée
            List<ThemeDisplayer> listOfThemeDisplayer = new List<ThemeDisplayer>();

            // On crée une liste des NiveauDisplayer, qui contiendra la liste des NiveauDisplayer
            // retournée
            List<NiveauDisplayer> listOfNiveauDisplayer = new List<NiveauDisplayer>();

            // Remplissage de la liste des ThemeDisplayer
            foreach (Subject tempSubject in listOfSubject)
            {
                ThemeDisplayer tempThemeDisplayer = new ThemeDisplayer();
                tempThemeDisplayer.themeID = tempSubject.ID;
                tempThemeDisplayer.nom = tempSubject.Name;
                tempThemeDisplayer.iconUrl = tempSubject.IconPath;
                tempThemeDisplayer.nombreDeCours = coursRepository.GetCoursBySubjectID(tempSubject.ID).ToList<Cours>().Count();
                listOfThemeDisplayer.Add(tempThemeDisplayer);
            }
            ViewBag.listThemes = listOfThemeDisplayer;

            foreach (Level tempLevel in listOfLevel)
            {
                NiveauDisplayer tempNiveauDisplayer = new NiveauDisplayer();
                tempNiveauDisplayer.niveauID = tempLevel.ID;
                tempNiveauDisplayer.niveauName = tempLevel.Name;
                listOfNiveauDisplayer.Add(tempNiveauDisplayer);
            }

            ViewBag.listNiveaux = listOfNiveauDisplayer;
            ViewBag.icoSrc = "#";//URL de l'icone du theme
            return View();
        }
        public ActionResult DocChange(int doc)
        {
            if(Session["userID"]!=null)
            {
            // On récupère dans la BDD, la liste de tous les Subjects
            List<Subject> listOfSubject = subjectRepository.GetAll().ToList<Subject>();
            // On récupère dans la BDD, la liste de tous les Levels
            List<Level> listOfLevel = levelRepository.GetAll().ToList<Level>();

            // On crée une liste des ThemeDisplayer, qui contiendra la liste des ThemeDisplayer
            // retournée
            List<ThemeDisplayer> listOfThemeDisplayer = new List<ThemeDisplayer>();

            // On crée une liste des NiveauDisplayer, qui contiendra la liste des NiveauDisplayer
            // retournée
            List<NiveauDisplayer> listOfNiveauDisplayer = new List<NiveauDisplayer>();

            // Remplissage de la liste des ThemeDisplayer
            foreach (Subject tempSubject in listOfSubject)
            {
                ThemeDisplayer tempThemeDisplayer = new ThemeDisplayer();
                tempThemeDisplayer.themeID = tempSubject.ID;
                tempThemeDisplayer.nom = tempSubject.Name;
                tempThemeDisplayer.iconUrl = tempSubject.IconPath;
                tempThemeDisplayer.nombreDeCours = coursRepository.GetCoursBySubjectID(tempSubject.ID).ToList<Cours>().Count();
                listOfThemeDisplayer.Add(tempThemeDisplayer);
            }
            ViewBag.listThemes = listOfThemeDisplayer;

            foreach (Level tempLevel in listOfLevel)
            {
                NiveauDisplayer tempNiveauDisplayer = new NiveauDisplayer();
                tempNiveauDisplayer.niveauID = tempLevel.ID;
                tempNiveauDisplayer.niveauName = tempLevel.Name;
                listOfNiveauDisplayer.Add(tempNiveauDisplayer);
            }

            ViewBag.listNiveaux = listOfNiveauDisplayer;
            ViewBag.icoSrc = "#";//URL de l'icone du theme
            // Récupération du Cours sur la BDD
            Cours tempCours = coursRepository.GetById(doc);

            // Remplissage du CoursDisplayer
            CoursDisplayer tempCoursDisplayer = new CoursDisplayer();
            tempCoursDisplayer.coursID = tempCours.ID;
            tempCoursDisplayer.themeID = tempCours.idSubject;
            tempCoursDisplayer.niveauID = tempCours.idLevel;
            tempCoursDisplayer.niveauName = levelRepository.GetLevelName(tempCours.idLevel);
            tempCoursDisplayer.titre = tempCours.titleCours;
            tempCoursDisplayer.contenu = tempCours.coreCours;
            tempCoursDisplayer.nbVotesPour = tempCours.vote_positif;
            tempCoursDisplayer.nbVotesContre = tempCours.vote_negatif;
            tempCoursDisplayer.dateDerniereModif = tempCours.ModificationDate;

            ViewBag.displayedCours = tempCoursDisplayer;
                if (tempCours.Idcreator == (int)Session["userID"])
                {
                    ViewBag.documentID = doc;
                    return View();
                }
                else
                {
                    return HttpNotFound();
                }

            }
            else
            {
                return HttpNotFound();
            }
        }