/Gradebook.Data/Repositories/ClassSubjectRepository.cs

https://bitbucket.org/academium/gradebook · C# · 22 lines · 19 code · 3 blank · 0 comment · 3 complexity · 0ab217878c26f9999affb2780ea0fefb MD5 · raw file

  1. using Gradebook.Contracts.Repositories;
  2. using Gradebook.Model;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data.Entity;
  6. using System.Linq;
  7. namespace Gradebook.Data.Repositories
  8. {
  9. public class ClassSubjectRepository : Repository<ClassCode>, IClassSubjectRepository
  10. {
  11. public ClassSubjectRepository(DbContext dbContext) : base(dbContext) { }
  12. public IEnumerable<ClassCode> GetByTeacher(int teacherId)
  13. {
  14. if (!DbContext.Set<Teacher>().Any(x => x.Id == teacherId))
  15. throw new ArgumentException("teacherId");
  16. return DbSet.Include(x => x.Subject).Where(x => x.TeacherClassCodes.Any(y => y.TeacherId == teacherId));
  17. }
  18. }
  19. }