public UserProgressController(ILogger logger, IWebCourseManager courseManager, UlearnDb db, IUsersRepo usersRepo, IVisitsRepo visitsRepo, IUserQuizzesRepo userQuizzesRepo) : base(logger, courseManager, db, usersRepo) { this.visitsRepo = visitsRepo; this.userQuizzesRepo = userQuizzesRepo; }
//private readonly ILogger _logger; public PatientsController(IVisitsRepo visits, IPatientsRepo patients, IPatientsMapper pMapper, IVisitsMapper vMapper) { _visits = visits; _patients = patients; _pMapper = pMapper; _vMapper = vMapper; }
public FeedRepo(UlearnDb db, INotificationsRepo notificationsRepo, IVisitsRepo visitsRepo, ILogger logger) { this.db = db ?? throw new ArgumentNullException(nameof(db)); this.notificationsRepo = notificationsRepo ?? throw new ArgumentNullException(nameof(notificationsRepo)); this.visitsRepo = visitsRepo ?? throw new ArgumentNullException(nameof(visitsRepo)); this.logger = logger; }
public LtiResultObserver(IWebCourseManager courseManager, ILtiConsumersRepo ltiConsumersRepo, ILtiRequestsRepo ltiRequestsRepo, IVisitsRepo visitsRepo) { this.courseManager = courseManager; this.ltiConsumersRepo = ltiConsumersRepo; this.ltiRequestsRepo = ltiRequestsRepo; this.visitsRepo = visitsRepo; }
public UserSolutionsRepo( UlearnDb db, ITextsRepo textsRepo, IVisitsRepo visitsRepo, WebCourseManager courseManager) { this.db = db; this.textsRepo = textsRepo; this.visitsRepo = visitsRepo; this.courseManager = courseManager; }
public ManualCheckingsForOldSolutionsAdder( IUserSolutionsRepo userSolutionsRepo, ISlideCheckingsRepo slideCheckingsRepo, IVisitsRepo visitsRepo, IUserQuizzesRepo userQuizzesRepo, IWebCourseManager courseManager) { this.userSolutionsRepo = userSolutionsRepo; this.slideCheckingsRepo = slideCheckingsRepo; this.visitsRepo = visitsRepo; this.userQuizzesRepo = userQuizzesRepo; this.courseManager = courseManager; }
public VisitService(IUnitWork unitWork, IVisitsRepo repo, IMapper mapper, MedicalRepVisitsHandlers handler) { //_unitWork = unitWork; _unitWork = unitWork; _repo = repo; _medicalRepHandler = handler; }
public ExerciseStatisticsController(ILogger logger, WebCourseManager courseManager, IUserSolutionsRepo userSolutionsRepo, UlearnDb db, IUsersRepo usersRepo, IUserSolutionsRepo solutionsRepo, IUserQuizzesRepo userQuizzesRepo, IVisitsRepo visitsRepo, IGroupsRepo groupsRepo) : base(logger, courseManager, db, usersRepo) { this.userSolutionsRepo = userSolutionsRepo; this.solutionsRepo = solutionsRepo; this.userQuizzesRepo = userQuizzesRepo; this.visitsRepo = visitsRepo; this.groupsRepo = groupsRepo; }
public SlidesController(ILogger logger, IWebCourseManager courseManager, UlearnDb db, IUsersRepo usersRepo, ICourseRolesRepo courseRolesRepo, IUserSolutionsRepo solutionsRepo, IUserQuizzesRepo userQuizzesRepo, IVisitsRepo visitsRepo, IGroupsRepo groupsRepo) : base(logger, courseManager, db, usersRepo) { CourseRolesRepo = courseRolesRepo; SolutionsRepo = solutionsRepo; UserQuizzesRepo = userQuizzesRepo; VisitsRepo = visitsRepo; GroupsRepo = groupsRepo; }
public ExportController(IWebCourseManager courseManager, UlearnDb db, IUsersRepo usersRepo, IGroupMembersRepo groupMembersRepo, IVisitsRepo visitsRepo, IGroupsRepo groupsRepo, IUserQuizzesRepo userQuizzesRepo, ICourseRolesRepo courseRolesRepo) : base(courseManager, db, usersRepo) { this.groupMembersRepo = groupMembersRepo; this.visitsRepo = visitsRepo; this.groupsRepo = groupsRepo; this.userQuizzesRepo = userQuizzesRepo; this.courseRolesRepo = courseRolesRepo; }
public CoursesController(ILogger logger, IWebCourseManager courseManager, UlearnDb db, ICoursesRepo coursesRepo, IUsersRepo usersRepo, ICourseRolesRepo courseRolesRepo, IUnitsRepo unitsRepo, IUserSolutionsRepo solutionsRepo, IUserQuizzesRepo userQuizzesRepo, IVisitsRepo visitsRepo, IGroupsRepo groupsRepo) : base(logger, courseManager, db, usersRepo) { this.coursesRepo = coursesRepo; this.courseRolesRepo = courseRolesRepo; this.unitsRepo = unitsRepo; this.solutionsRepo = solutionsRepo; this.userQuizzesRepo = userQuizzesRepo; this.visitsRepo = visitsRepo; this.groupsRepo = groupsRepo; }
public SlidesController(IWebCourseManager courseManager, UlearnDb db, IUsersRepo usersRepo, ICourseRolesRepo courseRolesRepo, IUserSolutionsRepo solutionsRepo, IUserQuizzesRepo userQuizzesRepo, IVisitsRepo visitsRepo, IGroupsRepo groupsRepo, SlideRenderer slideRenderer, ICoursesRepo coursesRepo) : base(courseManager, db, usersRepo) { this.coursesRepo = coursesRepo; this.courseRolesRepo = courseRolesRepo; this.solutionsRepo = solutionsRepo; this.userQuizzesRepo = userQuizzesRepo; this.visitsRepo = visitsRepo; this.groupsRepo = groupsRepo; this.slideRenderer = slideRenderer; }
public BaseCommentController(IWebCourseManager courseManager, UlearnDb db, IUsersRepo usersRepo, ICommentsRepo commentsRepo, ICommentLikesRepo commentLikesRepo, ICoursesRepo coursesRepo, ICourseRolesRepo courseRolesRepo, INotificationsRepo notificationsRepo, IGroupMembersRepo groupMembersRepo, IGroupAccessesRepo groupAccessesRepo, IVisitsRepo visitsRepo) : base(courseManager, db, usersRepo) { this.commentsRepo = commentsRepo; this.commentLikesRepo = commentLikesRepo; this.coursesRepo = coursesRepo; this.courseRolesRepo = courseRolesRepo; this.notificationsRepo = notificationsRepo; this.groupMembersRepo = groupMembersRepo; this.groupAccessesRepo = groupAccessesRepo; this.visitsRepo = visitsRepo; }
public UserProgressController(IWebCourseManager courseManager, UlearnDb db, IUsersRepo usersRepo, IVisitsRepo visitsRepo, IUserQuizzesRepo userQuizzesRepo, IAdditionalScoresRepo additionalScoresRepo, ICourseRolesRepo courseRolesRepo, IGroupAccessesRepo groupAccessesRepo, IGroupMembersRepo groupMembersRepo, ISlideCheckingsRepo slideCheckingsRepo) : base(courseManager, db, usersRepo) { this.visitsRepo = visitsRepo; this.userQuizzesRepo = userQuizzesRepo; this.additionalScoresRepo = additionalScoresRepo; this.courseRolesRepo = courseRolesRepo; this.groupAccessesRepo = groupAccessesRepo; this.groupMembersRepo = groupMembersRepo; this.slideCheckingsRepo = slideCheckingsRepo; }
public ExerciseController(IWebCourseManager courseManager, UlearnDb db, MetricSender metricSender, IUsersRepo usersRepo, IUserSolutionsRepo userSolutionsRepo, ICourseRolesRepo courseRolesRepo, IVisitsRepo visitsRepo, ISlideCheckingsRepo slideCheckingsRepo, IGroupsRepo groupsRepo, StyleErrorsResultObserver styleErrorsResultObserver, IStyleErrorsRepo styleErrorsRepo, IServiceScopeFactory serviceScopeFactory) : base(courseManager, db, usersRepo) { this.metricSender = metricSender; this.userSolutionsRepo = userSolutionsRepo; this.courseRolesRepo = courseRolesRepo; this.visitsRepo = visitsRepo; this.slideCheckingsRepo = slideCheckingsRepo; this.groupsRepo = groupsRepo; this.styleErrorsRepo = styleErrorsRepo; this.styleErrorsResultObserver = styleErrorsResultObserver; this.serviceScopeFactory = serviceScopeFactory; }
public ExerciseController(IWebCourseManager courseManager, UlearnDb db, MetricSender metricSender, IUsersRepo usersRepo, IUserSolutionsRepo userSolutionsRepo, ICourseRolesRepo courseRolesRepo, IVisitsRepo visitsRepo, ILtiConsumersRepo ltiConsumersRepo, ILtiRequestsRepo ltiRequestsRepo, ISlideCheckingsRepo slideCheckingsRepo, IGroupsRepo groupsRepo, IStyleErrorsRepo styleErrorsRepo) : base(courseManager, db, usersRepo) { this.metricSender = metricSender; this.userSolutionsRepo = userSolutionsRepo; this.courseRolesRepo = courseRolesRepo; this.visitsRepo = visitsRepo; this.ltiConsumersRepo = ltiConsumersRepo; this.ltiRequestsRepo = ltiRequestsRepo; this.slideCheckingsRepo = slideCheckingsRepo; this.groupsRepo = groupsRepo; this.styleErrorsRepo = styleErrorsRepo; }
public RunnerController(IWebCourseManager courseManager, UlearnDb db, IOptions <WebApiConfiguration> options, IUsersRepo usersRepo, IUserSolutionsRepo userSolutionsRepo, ISlideCheckingsRepo slideCheckingsRepo, IGroupsRepo groupsRepo, IVisitsRepo visitsRepo, MetricSender metricSender, XQueueResultObserver xQueueResultObserver, SandboxErrorsResultObserver sandboxErrorsResultObserver, AntiPlagiarismResultObserver antiPlagiarismResultObserver, StyleErrorsResultObserver styleErrorsResultObserver) : base(courseManager, db, usersRepo) { configuration = options.Value; resultObservers = new List <IResultObserver> { xQueueResultObserver, sandboxErrorsResultObserver, antiPlagiarismResultObserver, styleErrorsResultObserver, }; this.userSolutionsRepo = userSolutionsRepo; this.slideCheckingsRepo = slideCheckingsRepo; this.groupsRepo = groupsRepo; this.visitsRepo = visitsRepo; this.metricSender = metricSender; }
public MedicalRepVisitsHandlers(ApplicationContext context, IVisitsRepo visitsRepo) : base(context) { _visitsRepo = visitsRepo; }
public CommentPoliciesController(IWebCourseManager courseManager, UlearnDb db, IUsersRepo usersRepo, ICommentsRepo commentsRepo, ICommentLikesRepo commentLikesRepo, ICoursesRepo coursesRepo, ICourseRolesRepo courseRolesRepo, INotificationsRepo notificationsRepo, ICommentPoliciesRepo commentPoliciesRepo, IGroupMembersRepo groupMembersRepo, IGroupAccessesRepo groupAccessesRepo, IVisitsRepo visitsRepo) : base(courseManager, db, usersRepo, commentsRepo, commentLikesRepo, coursesRepo, courseRolesRepo, notificationsRepo, groupMembersRepo, groupAccessesRepo, visitsRepo) { this.commentPoliciesRepo = commentPoliciesRepo; }
public FeedRepo(UlearnDb db, INotificationsRepo notificationsRepo, IVisitsRepo visitsRepo) { this.db = db; this.notificationsRepo = notificationsRepo; this.visitsRepo = visitsRepo; }
public static async Task <bool> SendToReviewAndUpdateScore(UserExerciseSubmission submissionNoTracking, IWebCourseManager courseManager, ISlideCheckingsRepo slideCheckingsRepo, IGroupsRepo groupsRepo, IVisitsRepo visitsRepo, MetricSender metricSender) { var userId = submissionNoTracking.UserId; var courseId = submissionNoTracking.CourseId; var course = await courseManager.GetCourseAsync(courseId); var exerciseSlide = course.FindSlideById(submissionNoTracking.SlideId, true) as ExerciseSlide; // SlideId проверен в вызывающем методе if (exerciseSlide == null) { return(false); } var exerciseMetricId = GetExerciseMetricId(courseId, exerciseSlide); var automaticCheckingNoTracking = submissionNoTracking.AutomaticChecking; var isProhibitedUserToSendForReview = await slideCheckingsRepo.IsProhibitedToSendExerciseToManualChecking(courseId, exerciseSlide.Id, userId); var sendToReview = exerciseSlide.Scoring.RequireReview && submissionNoTracking.AutomaticCheckingIsRightAnswer && !isProhibitedUserToSendForReview && await groupsRepo.IsManualCheckingEnabledForUserAsync(course, userId); if (sendToReview) { await slideCheckingsRepo.RemoveWaitingManualCheckings <ManualExerciseChecking>(courseId, exerciseSlide.Id, userId, false); await slideCheckingsRepo.AddManualExerciseChecking(courseId, exerciseSlide.Id, userId, submissionNoTracking.Id); await visitsRepo.MarkVisitsAsWithManualChecking(courseId, exerciseSlide.Id, userId); metricSender.SendCount($"exercise.{exerciseMetricId}.sent_to_review"); metricSender.SendCount("exercise.sent_to_review"); } await visitsRepo.UpdateScoreForVisit(courseId, exerciseSlide, userId); if (automaticCheckingNoTracking != null) { var verdictForMetric = automaticCheckingNoTracking.GetVerdict().Replace(" ", ""); metricSender.SendCount($"exercise.{exerciseMetricId}.{verdictForMetric}"); } return(sendToReview); }
public static async Task <Func <Slide, int> > BuildGetSlideMaxScoreFunc(IUserSolutionsRepo solutionsRepo, IUserQuizzesRepo userQuizzesRepo, IVisitsRepo visitsRepo, IGroupsRepo groupsRepo, Course course, string userId) { if (userId == null) { return(GetMaxScoreForGuest); } var solvedSlidesIds = await GetSolvedSlides(solutionsRepo, userQuizzesRepo, course, userId); var slidesWithUsersManualChecking = (await visitsRepo.GetSlidesWithUsersManualChecking(course.Id, userId)).ToImmutableHashSet(); var enabledManualCheckingForUser = await groupsRepo.IsManualCheckingEnabledForUserAsync(course, userId).ConfigureAwait(false); return(s => GetMaxScoreForUsersSlide(s, solvedSlidesIds.Contains(s.Id), slidesWithUsersManualChecking.Contains(s.Id), enabledManualCheckingForUser)); }
public VisitsController(TPContext context, IVisitsRepo iRepo) { _context = context; _iRepo = iRepo; }
public VisitsController(IVisitsRepo visits, IPatientsRepo patients, IVisitsMapper vmapper) { _visits = visits; _patients = patients; _vmapper = vmapper; }