public GroupsController(ILogger logger, WebCourseManager courseManager, UlearnDb db, GroupsRepo groupsRepo, GroupAccessesRepo groupAccessesRepo) : base(logger, courseManager, db) { this.groupsRepo = groupsRepo; this.groupAccessesRepo = groupAccessesRepo; }
public NotificationsRepo(ULearnDb db) { this.db = db; unitsRepo = new UnitsRepo(db); userRolesRepo = new UserRolesRepo(db); usersRepo = new UsersRepo(db); courseManager = WebCourseManager.Instance; }
public CertificatesController(ULearnDb db, WebCourseManager courseManager) { this.courseManager = courseManager; certificatesRepo = new CertificatesRepo(db); userManager = new ULearnUserManager(db); certificateGenerator = new CertificateGenerator(db, courseManager); }
public JoinGroupController(ILogger logger, WebCourseManager courseManager, UlearnDb db, IUsersRepo usersRepo, IGroupsRepo groupsRepo, IGroupMembersRepo groupMembersRepo) : base(logger, courseManager, db, usersRepo) { this.groupsRepo = groupsRepo; this.groupMembersRepo = groupMembersRepo; }
public Program(WebCourseManager courseManager) { this.courseManager = courseManager; notificationSender = new NotificationSender(courseManager); var configuration = ApplicationConfiguration.Read <UlearnConfiguration>(); keepAliver = new ServiceKeepAliver(configuration.GraphiteServiceName); keepAliveInterval = TimeSpan.FromSeconds(configuration.KeepAliveInterval ?? 30); }
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 UserSolutionsRepo( UlearnDb db, TextsRepo textsRepo, VisitsRepo visitsRepo, WebCourseManager courseManager) { this.db = db; this.textsRepo = textsRepo; this.visitsRepo = visitsRepo; this.courseManager = courseManager; }
public GroupsRepo(ULearnDb db, WebCourseManager courseManager) { this.db = db; this.courseManager = courseManager; slideCheckingsRepo = new SlideCheckingsRepo(db); userSolutionsRepo = new UserSolutionsRepo(db, courseManager); userQuizzesRepo = new UserQuizzesRepo(db); visitsRepo = new VisitsRepo(db); userRolesRepo = new UserRolesRepo(db); }
public ManualCheckingsForOldSolutionsAdder( IUserSolutionsRepo userSolutionsRepo, ISlideCheckingsRepo slideCheckingsRepo, IVisitsRepo visitsRepo, IUserQuizzesRepo userQuizzesRepo, WebCourseManager courseManager, ILogger logger) { this.userSolutionsRepo = userSolutionsRepo; this.slideCheckingsRepo = slideCheckingsRepo; this.visitsRepo = visitsRepo; this.userQuizzesRepo = userQuizzesRepo; this.courseManager = courseManager; this.logger = logger; }
public NotificationsController(ILogger logger, WebCourseManager courseManager, UlearnDb db, NotificationsRepo notificationsRepo, FeedRepo feedRepo, NotificationDataPreloader notificationDataPreloader) : base(logger, courseManager, db) { this.notificationsRepo = notificationsRepo ?? throw new ArgumentNullException(nameof(notificationsRepo)); this.feedRepo = feedRepo ?? throw new ArgumentNullException(nameof(feedRepo)); this.notificationDataPreloader = notificationDataPreloader; if (commentsFeedNotificationTransport == null) { commentsFeedNotificationTransport = feedRepo.GetCommentsFeedNotificationTransport(); } }
public CodeReviewStatisticsController(ILogger logger, WebCourseManager courseManager, SlideCheckingsRepo slideCheckingsRepo, UserRolesRepo userRolesRepo, UsersRepo usersRepo, GroupsRepo groupsRepo, UlearnDb db) : base(logger, courseManager, db) { this.slideCheckingsRepo = slideCheckingsRepo; this.userRolesRepo = userRolesRepo; this.usersRepo = usersRepo; this.groupsRepo = groupsRepo; }
public Program(WebCourseManager courseManager) { this.courseManager = courseManager; notificationSender = new NotificationSender(courseManager); keepAliver = new ServiceKeepAliver("notifications"); if (!int.TryParse(ConfigurationManager.AppSettings["ulearn.notifications.keepAlive.interval"], out var keepAliveIntervalSeconds)) { keepAliveIntervalSeconds = 30; } keepAliveInterval = TimeSpan.FromSeconds(keepAliveIntervalSeconds); }
public AccountController( ILogger logger, IOptions <WebApiConfiguration> options, WebCourseManager courseManager, UlearnDb db, UlearnUserManager userManager, SignInManager <ApplicationUser> signInManager, UserRolesRepo userRolesRepo, CoursesRepo coursesRepo ) : base(logger, courseManager, db) { this.userManager = userManager; this.signInManager = signInManager; this.userRolesRepo = userRolesRepo; this.coursesRepo = coursesRepo; this.configuration = options.Value; }
public GroupAccessesRepo( UlearnDb db, GroupsRepo groupsRepo, SystemAccessesRepo systemAccessesRepo, CoursesRepo coursesRepo, WebCourseManager courseManager ) { this.db = db; this.groupsRepo = groupsRepo; this.systemAccessesRepo = systemAccessesRepo; this.coursesRepo = coursesRepo; this.courseManager = courseManager; }
public GroupController(ILogger logger, WebCourseManager courseManager, UlearnDb db, IGroupsRepo groupsRepo, IGroupAccessesRepo groupAccessesRepo, IGroupMembersRepo groupMembersRepo, IUsersRepo usersRepo, ICourseRolesRepo courseRolesRepo, INotificationsRepo notificationsRepo, IGroupsCreatorAndCopier groupsCreatorAndCopier) : base(logger, courseManager, db, usersRepo) { this.groupsRepo = groupsRepo; this.groupAccessesRepo = groupAccessesRepo; this.groupMembersRepo = groupMembersRepo; this.courseRolesRepo = courseRolesRepo; this.notificationsRepo = notificationsRepo; this.groupsCreatorAndCopier = groupsCreatorAndCopier; }
public GroupsRepo( UlearnDb db, SlideCheckingsRepo slideCheckingsRepo, UserSolutionsRepo userSolutionsRepo, UserQuizzesRepo userQuizzesRepo, VisitsRepo visitsRepo, UserRolesRepo userRolesRepo, WebCourseManager courseManager) { this.db = db; this.slideCheckingsRepo = slideCheckingsRepo; this.userSolutionsRepo = userSolutionsRepo; this.userQuizzesRepo = userQuizzesRepo; this.visitsRepo = visitsRepo; this.userRolesRepo = userRolesRepo; this.courseManager = courseManager; }
public BaseExerciseController(ULearnDb db, WebCourseManager courseManager, MetricSender metricSender) { this.db = db; this.courseManager = courseManager; this.metricSender = metricSender; userSolutionsRepo = new UserSolutionsRepo(db, courseManager); slideCheckingsRepo = new SlideCheckingsRepo(db); groupsRepo = new GroupsRepo(db, courseManager); visitsRepo = new VisitsRepo(db); notificationsRepo = new NotificationsRepo(db); usersRepo = new UsersRepo(db); styleErrorsRepo = new StyleErrorsRepo(db); unitsRepo = new UnitsRepo(db); }
public CodeReviewStatisticsController(ILogger logger, WebCourseManager courseManager, ISlideCheckingsRepo slideCheckingsRepo, ICourseRolesRepo courseRolesRepo, IUsersRepo usersRepo, IGroupsRepo groupsRepo, IGroupMembersRepo groupMembersRepo, ICourseRoleUsersFilter courseRoleUsersFilter, UlearnDb db) : base(logger, courseManager, db, usersRepo) { this.slideCheckingsRepo = slideCheckingsRepo; this.courseRolesRepo = courseRolesRepo; this.groupsRepo = groupsRepo; this.groupMembersRepo = groupMembersRepo; this.courseRoleUsersFilter = courseRoleUsersFilter; }
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; }
public GroupAccessesRepo( UlearnDb db, IGroupsRepo groupsRepo, ISystemAccessesRepo systemAccessesRepo, ICoursesRepo coursesRepo, IGroupMembersRepo groupMembersRepo, ICourseRolesRepo courseRolesRepo, WebCourseManager courseManager, ILogger logger ) { this.db = db; this.groupsRepo = groupsRepo; this.systemAccessesRepo = systemAccessesRepo; this.coursesRepo = coursesRepo; this.groupMembersRepo = groupMembersRepo; this.courseRolesRepo = courseRolesRepo; this.courseManager = courseManager; this.logger = logger; }
public BaseController(ILogger logger, WebCourseManager courseManager, UlearnDb db) { this.logger = logger; this.courseManager = courseManager; this.db = db; }
public BaseController(ILogger logger, WebCourseManager courseManager, UlearnDb db) { this.logger = logger ?? throw new ArgumentException(nameof(logger)); this.courseManager = courseManager ?? throw new ArgumentException(nameof(courseManager)); this.db = db ?? throw new ArgumentException(nameof(db)); }
public UserSolutionsRepo(ULearnDb db, WebCourseManager courseManager) { this.db = db; this.courseManager = courseManager; textsRepo = new TextsRepo(db); }
public ExerciseStatisticsController(ILogger logger, WebCourseManager courseManager, IUserSolutionsRepo userSolutionsRepo, UlearnDb db, IUsersRepo usersRepo) : base(logger, courseManager, db, usersRepo) { this.userSolutionsRepo = userSolutionsRepo; }
public SlidesController(ILogger logger, WebCourseManager courseManager) : base(logger, courseManager) { }
public ExerciseStatisticsController(ILogger logger, WebCourseManager courseManager, UserSolutionsRepo userSolutionsRepo) : base(logger, courseManager) { this.userSolutionsRepo = userSolutionsRepo; }
public BaseController(ILogger logger, WebCourseManager courseManager) { this.logger = logger; this.courseManager = courseManager; }
public UsersController(ILogger logger, WebCourseManager courseManager, UsersRepo usersRepo, UserRolesRepo userRolesRepo, UlearnDb db) : base(logger, courseManager, db) { this.usersRepo = usersRepo ?? throw new ArgumentNullException(nameof(usersRepo)); this.userRolesRepo = userRolesRepo ?? throw new ArgumentNullException(nameof(userRolesRepo)); }
public static IServiceCollection AddDatabaseServices(this IServiceCollection services, ILogger logger) { var courseManager = new WebCourseManager(logger); services.AddSingleton <WebCourseManager>(courseManager); services.AddSingleton <IWebCourseManager>(courseManager); services.AddScoped <UlearnUserManager>(); services.AddScoped <InitialDataCreator>(); services.AddIdentity <ApplicationUser, IdentityRole>(options => { options.Password.RequireDigit = false; options.Password.RequiredLength = 6; options.Password.RequireNonAlphanumeric = false; options.Password.RequireUppercase = false; options.Password.RequireLowercase = false; }) .AddEntityFrameworkStores <UlearnDb>() .AddDefaultTokenProviders(); /* DI for database repos: */ /* Groups */ services.AddScoped <IGroupsRepo, GroupsRepo>(); services.AddScoped <IGroupMembersRepo, GroupMembersRepo>(); services.AddScoped <IGroupAccessesRepo, GroupAccessesRepo>(); services.AddScoped <IManualCheckingsForOldSolutionsAdder, ManualCheckingsForOldSolutionsAdder>(); services.AddScoped <IGroupsCreatorAndCopier, GroupsCreatorAndCopier>(); services.AddScoped <IUsersGroupsGetter, UsersGroupsGetter>(); /* Comments */ services.AddScoped <ICommentsRepo, CommentsRepo>(); services.AddScoped <ICommentLikesRepo, CommentLikesRepo>(); services.AddScoped <ICommentPoliciesRepo, CommentPoliciesRepo>(); /* Users */ services.AddScoped <IUsersRepo, UsersRepo>(); services.AddScoped <IUserSearcher, UserSearcher>(); services.AddScoped <IAccessRestrictor, AccessRestrictor>(); services.AddScoped <IFilter, FilterByCourseRole>(); services.AddScoped <IFilter, FilterByLmsRole>(); services.AddScoped <ISearcher, SearcherByUserId>(); services.AddScoped <ISearcher, SearcherByNames>(); services.AddScoped <ISearcher, SearcherByLogin>(); services.AddScoped <ISearcher, SearcherByEmail>(); services.AddScoped <ISearcher, SearcherBySocialLogin>(); /* Others */ services.AddScoped <ICourseRolesRepo, CourseRolesRepo>(); services.AddScoped <ICourseRoleUsersFilter, CourseRoleUsersFilter>(); services.AddScoped <ICoursesRepo, CoursesRepo>(); services.AddScoped <ISlideCheckingsRepo, SlideCheckingsRepo>(); services.AddScoped <IUserSolutionsRepo, UserSolutionsRepo>(); services.AddScoped <IUserQuizzesRepo, UserQuizzesRepo>(); services.AddScoped <IVisitsRepo, VisitsRepo>(); services.AddScoped <ITextsRepo, TextsRepo>(); services.AddScoped <INotificationsRepo, NotificationsRepo>(); services.AddScoped <IFeedRepo, FeedRepo>(); services.AddScoped <ISystemAccessesRepo, SystemAccessesRepo>(); return(services); }
public SlidesController(ILogger logger, WebCourseManager courseManager, UlearnDb db) : base(logger, courseManager, db) { }