示例#1
0
        // GET: Discussion
        public ActionResult Index(int?pageIndex, int?pageSize)
        {
            if (pageIndex == null || pageIndex < 1)
            {
                pageIndex = 1;
            }
            if (pageSize == null || pageSize < 1)
            {
                pageSize = 10;
            }
            var user = (Etudiant)Session["user"];

            ViewBag.etudiants = _etudiantService.GetEtudiantsBySpecialite(user.SpecialiteId, user.Niveau).ToList();
            List <Question> questions = _questionService.GetQuestionsBySpecialite(user.SpecialiteId, user.Niveau, (int)pageIndex, (int)pageSize).ToList();

            ViewBag.maxPage   = (int)Math.Ceiling(_questionService.CountQuestionsBySpecialite(user.SpecialiteId, user.Niveau) / (decimal)pageSize);
            ViewBag.pageIndex = (int)pageIndex;
            return(View(questions));
        }
        // GET: Professeur
        public ActionResult Index()
        {
            Professeur user = (Professeur)Session["user"];
            // Notifications
            List <Notification> notifications = _notificationService.GetUnreadNotifications(user.ProfesseurId).ToList();
            int             notificationCount = notifications.Count();
            List <Etudiant> etudiants         = new List <Etudiant>();
            // Documents
            List <DocumentOfficiel>    mesDocuments   = _documentOfficielService.GetDocumentsByUser(user.ProfesseurId, 1, 10).ToList();
            List <DocumentNonOfficiel> documents      = new List <DocumentNonOfficiel>();
            List <Module>           modules           = new List <Module>();
            List <ProfesseurModule> professeurModules = _professeurModuleService.GetModulesByProfesseur(user.ProfesseurId).ToList();

            foreach (ProfesseurModule module in professeurModules)
            {
                modules.Add(_moduleService.Get(module.ModuleId));
                documents.AddRange(_documentNonOfficielService.GetDocumentByModule(module.ModuleId));
            }

            documents = documents.OrderByDescending(o => o.DocumentNonOfficielId).Take(10).ToList();
            // Messages
            List <Message> messages = _messageService.GetMessagesByProfesseur(user.ProfesseurId, 1, 5).ToList();
            // Specialites
            List <Specialite> specialites = new List <Specialite>();
            // Annonces
            List <Annonce> annonces = _annonceService.GetAll().OrderByDescending(o => o.AnnonceId).Take(5).ToList();

            //Etudiants
            var specialiteWithNiveau = _professeurService.GetSpecialiteWithNiveau(user.ProfesseurId);

            foreach (int specialite in specialiteWithNiveau.Keys)
            {
                specialites.Add(_specialiteService.Get(specialite));
                foreach (int niveau in specialiteWithNiveau[specialite])
                {
                    etudiants.AddRange(_etudiantService.GetEtudiantsBySpecialite(specialite, niveau).ToList());
                }
            }

            // Model
            Session["notifications"]     = notifications;
            Session["notificationCount"] = notificationCount;
            ViewBag.documents            = documents;
            ViewBag.messages             = messages;
            ViewBag.annonces             = annonces;
            ViewBag.specialites          = specialites;
            ViewBag.modules   = modules;
            ViewBag.etudiants = etudiants;
            return(View(mesDocuments));
        }
        public ActionResult NonOfficiel(int?pageIndex, int?pageSize)
        {
            if (pageIndex == null || pageIndex < 1)
            {
                pageIndex = 1;
            }
            if (pageSize == null || pageSize < 1)
            {
                pageSize = 10;
            }
            if (Session["user"] is Etudiant)
            {
                List <DocumentNonOfficiel> documents = _documentNonOfficielService.GetAll().OrderByDescending(o => o.DocumentNonOfficielId).Skip(((int)pageIndex - 1) * (int)pageSize).Take((int)pageSize).ToList();
                var           data    = _specialiteModuleService.GetSpecialiteModulesByNiveau(((Etudiant)Session["user"]).SpecialiteId, ((Etudiant)Session["user"]).Niveau);
                List <Module> modules = new List <Module>();
                foreach (SpecialiteModule sm in data)
                {
                    modules.Add(_moduleService.Get(sm.ModuleId));
                }
                ViewBag.maxPage   = (int)Math.Ceiling(_documentNonOfficielService.GetAll().Count() / (decimal)pageSize);
                ViewBag.pageIndex = (int)pageIndex;
                ViewBag.Modules   = modules;
                ViewBag.TopUsers  = _documentNonOfficielService.GetTopUsers(((Etudiant)Session["user"]).SpecialiteId, ((Etudiant)Session["user"]).Niveau);
                ViewBag.Etudiants = _etudiantService.GetEtudiantsBySpecialite(((Etudiant)Session["user"]).SpecialiteId, ((Etudiant)Session["user"]).Niveau).ToList();
                return(View(documents));
            }
            else if (Session["user"] is Professeur)
            {
                var user = (Professeur)Session["user"];
                List <DocumentNonOfficiel> documents   = new List <DocumentNonOfficiel>();
                List <Etudiant>            etudiants   = new List <Etudiant>();
                List <Specialite>          specialites = new List <Specialite>();
                List <Module> modules = _moduleService.GetAll().ToList();

                List <ProfesseurSpecialite> ps = _professeurSpecialiteService.GetSpecialitesByProfesseur(user.ProfesseurId).ToList();
                List <ProfesseurModule>     professeurModules = _professeurModuleService.GetModulesByProfesseur(user.ProfesseurId).ToList();
                var specialiteWithNiveau = _professeurService.GetSpecialiteWithNiveau(user.ProfesseurId);

                foreach (ProfesseurModule module in professeurModules)
                {
                    modules.Add(_moduleService.Get(module.ModuleId));
                    documents.AddRange(_documentNonOfficielService.GetDocumentByModule(module.ModuleId));
                }
                foreach (int specialite in specialiteWithNiveau.Keys)
                {
                    specialites.Add(_specialiteService.Get(specialite));
                    foreach (int niveau in specialiteWithNiveau[specialite])
                    {
                        etudiants.AddRange(_etudiantService.GetEtudiantsBySpecialite(specialite, niveau).ToList());
                    }
                }

                ViewBag.specialites = specialites;
                ViewBag.etudiants   = etudiants;
                ViewBag.modules     = modules;
                ViewBag.pageIndex   = (int)pageIndex;
                ViewBag.maxPage     = (int)Math.Ceiling(documents.Count / (decimal)pageSize);
                return(View(documents.OrderByDescending(o => o.ModuleId).Skip(((int)pageIndex - 1) * (int)pageSize).Take((int)pageSize).ToList()));
            }
            else
            {
            }

            return(null);
        }