public IEnumerable <Etudiant> GetEtudiantsBySpecialite(int SpecialiteId, int Niveau)
 {
     if (SpecialiteId <= 0 || _specialiteRepository.Get(SpecialiteId) == null || Niveau <= 0 || Niveau > 3)
     {
         return(null);
     }
     return(_etudiantRepository.GetEtudiantsBySpecialite(SpecialiteId, Niveau));
 }
        public Dictionary <Etudiant, int> GetTopUsers(int SpecialiteId, int Niveau)
        {
            Dictionary <Etudiant, int> list      = new Dictionary <Etudiant, int>();
            List <Etudiant>            etudiants = _etudiantRepository.GetEtudiantsBySpecialite(SpecialiteId, Niveau).ToList();

            foreach (Etudiant e in etudiants)
            {
                int count = _documentNonOfficielRepository.GetAll().Where(o => o.EtudiantId == e.EtudiantId).Count();
                if (count > 0)
                {
                    list.Add(e, count);
                }
            }
            return(list.OrderByDescending(o => o.Value).Take(3).ToDictionary(pair => pair.Key, pair => pair.Value));
        }