예제 #1
0
 public QuizController(CourseManager courseManager)
 {
     this.courseManager = courseManager;
     userQuizzesRepo    = new UserQuizzesRepo(db);
     visitsRepo         = new VisitsRepo(db);
     quizzesRepo        = new QuizzesRepo(db);
     groupsRepo         = new GroupsRepo(db);
     slideCheckingsRepo = new SlideCheckingsRepo(db);
 }
예제 #2
0
        public QuizController()
        {
            metricSender = new GraphiteMetricSender("web");

            userQuizzesRepo    = new UserQuizzesRepo(db);
            visitsRepo         = new VisitsRepo(db);
            groupsRepo         = new GroupsRepo(db, courseManager);
            slideCheckingsRepo = new SlideCheckingsRepo(db);
            notificationsRepo  = new NotificationsRepo(db);
        }
        public SlideNavigationController()
        {
            var db = new ULearnDb();

            unitsRepo            = new UnitsRepo(db);
            solutionsRepo        = new UserSolutionsRepo(db, courseManager);
            visitsRepo           = new VisitsRepo(db);
            userQuizzesRepo      = new UserQuizzesRepo(db);
            groupsRepo           = new GroupsRepo(db, courseManager);
            additionalScoresRepo = new AdditionalScoresRepo(db);
        }
예제 #4
0
 public CertificateGenerator(
     UserQuizzesRepo userQuizzesRepo,
     UserSolutionsRepo userSolutionsRepo,
     SlideCheckingsRepo slideCheckingsRepo,
     VisitsRepo visitsRepo)
 {
     this.userQuizzesRepo    = userQuizzesRepo;
     this.userSolutionsRepo  = userSolutionsRepo;
     this.slideCheckingsRepo = slideCheckingsRepo;
     this.visitsRepo         = visitsRepo;
 }
예제 #5
0
        public QuizController()
        {
            metricSender = new MetricSender(ApplicationConfiguration.Read <UlearnConfiguration>().GraphiteServiceName);

            userQuizzesRepo    = new UserQuizzesRepo(db);
            visitsRepo         = new VisitsRepo(db);
            groupsRepo         = new GroupsRepo(db, courseManager);
            slideCheckingsRepo = new SlideCheckingsRepo(db);
            notificationsRepo  = new NotificationsRepo(db);
            unitsRepo          = new UnitsRepo(db);
        }
예제 #6
0
 public CourseController()
 {
     slideCheckingsRepo = new SlideCheckingsRepo(db);
     visitsRepo         = new VisitsRepo(db);
     unitsRepo          = new UnitsRepo(db);
     slideRateRepo      = new SlideRateRepo(db);
     solutionsRepo      = new UserSolutionsRepo(db, courseManager);
     ltiRequestsRepo    = new LtiRequestsRepo(db);
     groupsRepo         = new GroupsRepo(db, courseManager);
     userQuizzesRepo    = new UserQuizzesRepo(db);
     coursesRepo        = new CoursesRepo(db);
 }
예제 #7
0
 public GroupsRepo(
     UlearnDb db,
     SlideCheckingsRepo slideCheckingsRepo, UserSolutionsRepo userSolutionsRepo, UserQuizzesRepo userQuizzesRepo, VisitsRepo visitsRepo,
     GroupsCreatorAndCopier groupsCreatorAndCopier,
     WebCourseManager courseManager,
     ILogger logger)
 {
     this.db = db;
     this.slideCheckingsRepo     = slideCheckingsRepo;
     this.userSolutionsRepo      = userSolutionsRepo;
     this.userQuizzesRepo        = userQuizzesRepo;
     this.visitsRepo             = visitsRepo;
     this.groupsCreatorAndCopier = groupsCreatorAndCopier;
     this.courseManager          = courseManager;
     this.logger = logger;
 }
예제 #8
0
        public static HashSet <Guid> GetSolvedSlides(UserSolutionsRepo solutionsRepo, UserQuizzesRepo userQuizzesRepo, Course course, string userId)
        {
            var solvedSlides = solutionsRepo.GetIdOfPassedSlides(course.Id, userId);

            solvedSlides.UnionWith(userQuizzesRepo.GetPassedSlideIds(course.Id, userId));
            return(solvedSlides);
        }
예제 #9
0
 public static bool IsSlideSolved(UserSolutionsRepo solutionsRepo, UserQuizzesRepo userQuizzesRepo, Course course, string userId, Guid slideId)
 {
     return(solutionsRepo.IsSlidePassed(course.Id, userId, slideId) || userQuizzesRepo.IsSlidePassed(course.Id, userId, slideId));
 }