public Dictionary <Module, Professeur> GetProfesseursBySpecialiteAndNiveau(int SpecialiteId, int Niveau) { if (SpecialiteId < 1 || Niveau < 1 || Niveau > 3) { return(null); } Dictionary <Module, Professeur> profs = new Dictionary <Module, Professeur>(); List <SpecialiteModule> sm = _specialiteModuleRepository.GetSpecialiteModulesByNiveau(SpecialiteId, Niveau).ToList(); List <ProfesseurSpecialite> ps = _professeurSpecialiteRepository.GetProfesseursBySpecialite(SpecialiteId).ToList(); List <ProfesseurModule> pm = _professeurModuleRepository.GetAll().ToList(); foreach (ProfesseurModule p in pm) { foreach (ProfesseurSpecialite s in ps) { if (p.ProfesseurId == s.ProfesseurId) { foreach (SpecialiteModule m in sm) { if (s.SpecialiteId == m.SpecialiteId && p.ModuleId == m.ModuleId && m.Niveau == Niveau) { profs.Add(_moduleRepository.Get(m.ModuleId), _professeurRepository.Get(s.ProfesseurId)); } } } } } return(profs); }
public IEnumerable <SpecialiteModule> GetSpecialiteModulesByNiveau(int SpecialiteId, int Niveau) { if (SpecialiteId < 1 || Niveau < 1 || Niveau > 3 || _specialiteRepository.Get(SpecialiteId) == null) { return(null); } return(_specialiteModuleRepository.GetSpecialiteModulesByNiveau(SpecialiteId, Niveau)); }