public IEnumerable <IdentityUser <Guid> > FindUsersByClass(Guid classId, IEnrolementRepository enrolementRepository) { // must pull one of the tables into local memory with .ToList() before executing the join // otherwise, entity framework will throw an argumentnullexception // calling .ToList() on users executes the query /*return ( * from u in this.IdentityUser.ToList() * join e in enrolementRepository.Enrolement * on u.Id equals e.UserId * where e.ClassId == classId * select new IdentityUser<Guid> { * Id = u.Id, * Email = u.Email, * UserName = u.UserName * } * ).ToList();*/ // the following does the same as the above but using the lambda syntax instead of the linq syntax /* return this.IdentityUser.ToList().Join( * enrolementRepository.Enrolement, * u => u.Id, * e => e.UserId, * (u, e) => new IdentityUser<Guid>{Id = u.Id, Email = u.Email, UserName = u.UserName} * ).ToList();*/ // the following executes the join on the sql server instead of pulling the table into local memory and then doing a linq join IdentityUserSqlRepository userSqlRepository = new IdentityUserSqlRepository(this.Database.GetDbConnection().ConnectionString); return(userSqlRepository.FindUsersByClass(classId, enrolementRepository)); }
public StudentGetAllTestsQueryHandler(ITestRepository testRepository, IEnrolementRepository enrolementRepository, IMapper mapper) { _testRepository = testRepository ?? throw new ArgumentNullException(nameof(testRepository)); _enrolementRepository = enrolementRepository ?? throw new ArgumentNullException(nameof(enrolementRepository)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); }
public SubmitTestCommandHandler(IEnrolementRepository enrolementRepository, IEnrolementAnswerRepository enrolementAnswerRepository, IQuestionRepository qquestionRepository, IMapper mapper) { _enrolementRepository = enrolementRepository ?? throw new ArgumentNullException(nameof(enrolementRepository)); _enrolementAnswerRepository = enrolementAnswerRepository ?? throw new ArgumentNullException(nameof(enrolementAnswerRepository)); _questionRepository = qquestionRepository ?? throw new ArgumentNullException(nameof(qquestionRepository)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); }
public StudentGetOneTestQueryHandler(ITestRepository testRepository, IEnrolementRepository enrolementRepository, IKnowledgeSpaceRepository knowledgeSpaceRepository, IMapper mapper) { _testRepository = testRepository ?? throw new ArgumentNullException(nameof(testRepository)); _enrolementRepository = enrolementRepository ?? throw new ArgumentNullException(nameof(enrolementRepository)); _knowledgeSpaceRepository = knowledgeSpaceRepository ?? throw new ArgumentNullException(nameof(knowledgeSpaceRepository)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); }
public ProblemsController( IProblemRepository problemRepository, IEnrolementRepository enrolementRepository, IAssignmentRepository assignmentRepository) { this.problemRepository = problemRepository; this.enrolementRepository = enrolementRepository; this.assignmentRepository = assignmentRepository; }
public IEnumerable <Problem> FindProblemsByTeacher(Guid userId, IEnrolementRepository enrolementRepository) { // only implementing the linq version, see UserEntityFrameworkRepository.FindUsersByClass for SQL implementation return(( from p in this.Problems.ToList() join e in enrolementRepository.Enrolement on p.ClassId equals e.ClassId where e.UserId == userId && e.Role == 2 select p ).ToList()); }
public StudentGetNextQuestionQueryHandler(ITestRepository testRepository, IEnrolementRepository enrolementRepository, IKnowledgeSpaceRepository knowledgeSpaceRepository, IPossibleStatesWithPossibilitiesRepository possibleStatesWithPossibilitiesRepository, IEnrolementAnswerRepository enrolementAnswerRepository, IAnswerRepository answerRepository, IMapper mapper) { _testRepository = testRepository ?? throw new ArgumentNullException(nameof(testRepository)); _enrolementRepository = enrolementRepository ?? throw new ArgumentNullException(nameof(enrolementRepository)); _enrolementAnswerRepository = enrolementAnswerRepository ?? throw new ArgumentNullException(nameof(enrolementAnswerRepository)); _knowledgeSpaceRepository = knowledgeSpaceRepository ?? throw new ArgumentNullException(nameof(knowledgeSpaceRepository)); _answerRepository = answerRepository ?? throw new ArgumentNullException(nameof(knowledgeSpaceRepository)); _possibleStatesWithPossibilitiesRepository = possibleStatesWithPossibilitiesRepository ?? throw new ArgumentNullException(nameof(possibleStatesWithPossibilitiesRepository)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); }
public IEnumerable <IdentityUser <Guid> > FindUsersByClass(Guid classId, IEnrolementRepository enrolementRepository) { // SELECT U.Id, U.Email, U.UserName, EmailConfirmed, PhoneNumber, PhoneNumberConfirmed, TwoFactorEnabled FROM [dbo].[IdentityUser] U JOIN [dbo].[Enrolement] E ON U.Id = E.UserId WHERE E.ClassId = classId return(ExecuteUnsafeQuery("SELECT U.Id, U.Email, U.UserName, EmailConfirmed, PhoneNumber, PhoneNumberConfirmed, TwoFactorEnabled FROM [dbo].[IdentityUser] U JOIN [dbo].[Enrolement] E ON U.Id = E.UserId WHERE E.ClassId = \'" + classId + "\'")); }
public IEnumerable <Question> FindQuestionsByTeacher(Guid userId, IProblemRepository problemRepository, IEnrolementRepository enrolementRepository) { return(( from q in this.Questions.ToList() join p in problemRepository.Problems on q.QuestionId equals p.QuestionId join e in enrolementRepository.Enrolement on p.ClassId equals e.ClassId where e.UserId == userId && e.Role == 2 select q ).ToList()); }
public EnrolementController(IEnrolementRepository repository) => this.repository = repository;
public QuestionsController(IQuestionRepository questionRepository, IEnrolementRepository enrolementRepository, IProblemRepository problemRepository) { this.questionRepository = questionRepository; this.enrolementRepository = enrolementRepository; this.problemRepository = problemRepository; }
public UsersController(IIdentityUserRepository identityUserRepository, IClassRepository classRepository, IEnrolementRepository enrolementRepository) { this.identityUserRepository = identityUserRepository; this.classRepository = classRepository; this.enrolementRepository = enrolementRepository; }
public IEnumerable <Assignment> FindAssignmentsByTeacher(Guid userId, IProblemRepository problemRepository, IEnrolementRepository enrolementRepository) { return(( from a in this.Assignments.ToList() join p in problemRepository.Problems on a.ProblemId equals p.ProblemId join e in enrolementRepository.Enrolement on p.ClassId equals e.ClassId where e.UserId == userId && e.Role == 2 select a ).ToList()); }