/// <summary> /// Initialize purchase controller /// </summary> /// <param name="courseCtrl">Course API</param> /// <param name="myCourseCtrl">MyCourse API</param> /// <param name="userProfileRepo">User profile repository</param> /// <param name="classRoomRepo">Class room repository</param> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="lessonCatalogRepo">Lesson catalog repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="paymentRepo">Payment repository</param> public PurchaseController(CourseController courseCtrl, MyCourseController myCourseCtrl, IUserProfileRepository userProfileRepo, IClassRoomRepository classRoomRepo, IClassCalendarRepository classCalendarRepo, ILessonCatalogRepository lessonCatalogRepo, IUserActivityRepository userActivityRepo, IPaymentRepository paymentRepo, IOptions<AppConfigOptions> appConfig, IOptions<ErrorMessageOptions> errorMsgs, ILoggerFactory loggerFactory, IPayment payment, IDateTime dateTime) { _courseCtrl = courseCtrl; _myCourseCtrl = myCourseCtrl; _userprofileRepo = userProfileRepo; _classRoomRepo = classRoomRepo; _classCalendarRepo = classCalendarRepo; _lessonCatalogRepo = lessonCatalogRepo; _userActivityRepo = userActivityRepo; _paymentRepo = paymentRepo; _dateTime = dateTime; _appConfig = appConfig.Value; _errorMsgs = errorMsgs.Value; _logger = loggerFactory.CreateLogger<PurchaseController>(); _payment = payment; }
/// <summary> /// Initialize lesson controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="classRoomRepo">Class room repository</param> /// <param name="likeLessonRepo">Like lesson repository</param> /// <param name="lessonCatalogRepo">Lesson catalog repository</param> /// <param name="commentRepo">Comment repository</param> /// <param name="friendRequestRepo">Friend request repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="notificationCtrl">Notificaotion API</param> /// <param name="config">App configuration option</param> public LessonController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, IClassRoomRepository classRoomRepo, ILikeLessonRepository likeLessonRepo, ILessonCatalogRepository lessonCatalogRepo, ICommentRepository commentRepo, IFriendRequestRepository friendRequestRepo, IUserActivityRepository userActivityRepo, NotificationController notificationCtrl, IOptions<AppConfigOptions> options, ILessonTestResultRepository lessonTestResultRepo, IDateTime dateTime) { _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _classRoomRepo = classRoomRepo; _likeLessonRepo = likeLessonRepo; _lessonCatalogRepo = lessonCatalogRepo; _commentRepo = commentRepo; _friendRequestRepo = friendRequestRepo; _userActivityRepo = userActivityRepo; _notificationCtrl = notificationCtrl; _appConfig = options.Value; _dateTime = dateTime; _lessonTestResultRepo = lessonTestResultRepo; }
/// <summary> /// Initialize lesson controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="classRoomRepo">Class room repository</param> /// <param name="likeLessonRepo">Like lesson repository</param> /// <param name="lessonCatalogRepo">Lesson catalog repository</param> /// <param name="commentRepo">Comment repository</param> /// <param name="friendRequestRepo">Friend request repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="notificationCtrl">Notificaotion API</param> /// <param name="config">App configuration option</param> public LessonController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, IClassRoomRepository classRoomRepo, ILikeLessonRepository likeLessonRepo, ILessonCatalogRepository lessonCatalogRepo, ICommentRepository commentRepo, IFriendRequestRepository friendRequestRepo, IUserActivityRepository userActivityRepo, NotificationController notificationCtrl, IOptions <AppConfigOptions> options, ILessonTestResultRepository lessonTestResultRepo, IDateTime dateTime) { _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _classRoomRepo = classRoomRepo; _likeLessonRepo = likeLessonRepo; _lessonCatalogRepo = lessonCatalogRepo; _commentRepo = commentRepo; _friendRequestRepo = friendRequestRepo; _userActivityRepo = userActivityRepo; _notificationCtrl = notificationCtrl; _appConfig = options.Value; _dateTime = dateTime; _lessonTestResultRepo = lessonTestResultRepo; }
/// <summary> /// Initialize comment controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="classRoomRepo">Class room repository</param> /// <param name="studentKeyRepo">Student key repository</param> /// <param name="lessonCatalogRepo">Lesson catalog repository</param> /// <param name="contractRepo">Contract repository</param> /// <param name="likeCommentRepo">Like comment repository</param> /// <param name="likeDiscussionRepo">Like discussion repository</param> /// <param name="likeLessonRepo">Like lesson repository</param> /// <param name="courseCatalogRepo">Course catalog repository</param> public MyCourseController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, IUserActivityRepository userActivityRepo, IClassRoomRepository classRoomRepo, IStudentKeyRepository studentKeyRepo, ILessonCatalogRepository lessonCatalogRepo, ILikeLessonRepository likeLessonRepo, ILikeCommentRepository likeCommentRepo, ILikeDiscussionRepository likeDiscussionRepo, IContractRepository contractRepo, ICourseCatalogRepository courseCatalogRepo, ILoggerFactory loggerFactory, IDateTime dateTime) { _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _userActivityRepo = userActivityRepo; _classRoomRepo = classRoomRepo; _studentKeyRepo = studentKeyRepo; _lessonCatalogRepo = lessonCatalogRepo; _likeLessonRepo = likeLessonRepo; _likeCommentRepo = likeCommentRepo; _likeDiscussionRepo = likeDiscussionRepo; _contractRepo = contractRepo; _courseCatalogRepo = courseCatalogRepo; _logger = loggerFactory.CreateLogger<MyCourseController>(); _dateTime = dateTime; }
public static bool CheckAccessPermissionToSelectedClassLesson(this IClassCalendarRepository classCalendarRepo, string classRoomId, string lessonId, DateTime currentTime, bool isTeacher = false) { var areArgumentsValid = !string.IsNullOrEmpty(classRoomId) && !string.IsNullOrEmpty(lessonId); if (!areArgumentsValid) { return(false); } var selectedClassCalendar = classCalendarRepo.GetClassCalendarByClassRoomId(classRoomId); var isClassCalendarValid = selectedClassCalendar != null && !selectedClassCalendar.DeletedDate.HasValue; if (!isClassCalendarValid) { return(false); } var canAccessToTheLesson = selectedClassCalendar.LessonCalendars .Where(it => !it.DeletedDate.HasValue) .Where(it => it.LessonId.Equals(lessonId, StringComparison.CurrentCultureIgnoreCase)) .Where(it => isTeacher || it.BeginDate <= currentTime) .Any(); return(canAccessToTheLesson); }
/// <summary> /// Initialize purchase controller /// </summary> /// <param name="courseCtrl">Course API</param> /// <param name="myCourseCtrl">MyCourse API</param> /// <param name="userProfileRepo">User profile repository</param> /// <param name="classRoomRepo">Class room repository</param> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="lessonCatalogRepo">Lesson catalog repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="paymentRepo">Payment repository</param> public PurchaseController(CourseController courseCtrl, MyCourseController myCourseCtrl, IUserProfileRepository userProfileRepo, IClassRoomRepository classRoomRepo, IClassCalendarRepository classCalendarRepo, ILessonCatalogRepository lessonCatalogRepo, IUserActivityRepository userActivityRepo, IPaymentRepository paymentRepo, IOptions <AppConfigOptions> appConfig, IOptions <ErrorMessageOptions> errorMsgs, ILoggerFactory loggerFactory, IPayment payment, IDateTime dateTime) { _courseCtrl = courseCtrl; _myCourseCtrl = myCourseCtrl; _userprofileRepo = userProfileRepo; _classRoomRepo = classRoomRepo; _classCalendarRepo = classCalendarRepo; _lessonCatalogRepo = lessonCatalogRepo; _userActivityRepo = userActivityRepo; _paymentRepo = paymentRepo; _dateTime = dateTime; _appConfig = appConfig.Value; _errorMsgs = errorMsgs.Value; _logger = loggerFactory.CreateLogger <PurchaseController>(); _payment = payment; }
/// <summary> /// Initialize Profile API /// </summary> /// <param name="userprofileRepo">User profile repository</param> /// <param name="classCalendarRepo">Class calendar repository</param> public ProfileController(IUserProfileRepository userprofileRepo, IClassCalendarRepository classCalendarRepo, IDateTime dateTime, UserManager<ApplicationUser> userManager) { _userProfileRepo = userprofileRepo; _classCalendarRepo = classCalendarRepo; _dateTime = dateTime; _userManager = userManager; }
/// <summary> /// Initialize Profile API /// </summary> /// <param name="userprofileRepo">User profile repository</param> /// <param name="classCalendarRepo">Class calendar repository</param> public ProfileController(IUserProfileRepository userprofileRepo, IClassCalendarRepository classCalendarRepo, IDateTime dateTime, UserManager <ApplicationUser> userManager) { _userProfileRepo = userprofileRepo; _classCalendarRepo = classCalendarRepo; _dateTime = dateTime; _userManager = userManager; }
/// <summary> /// Initialize Profile API /// </summary> /// <param name="userprofileRepo">User profile repository</param> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="backgroundProcessQueue">Background process queue</param> public ProfileController(IUserProfileRepository userprofileRepo, IClassCalendarRepository classCalendarRepo, IDateTime dateTime, Engines.IBackgroundProcessQueue backgroundProcessQueue, UserManager<ApplicationUser> userManager) { _userProfileRepo = userprofileRepo; _classCalendarRepo = classCalendarRepo; _dateTime = dateTime; _userManager = userManager; _backgroundProcessQueue = backgroundProcessQueue; }
/// <summary> /// Initialize friend controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="friendRequestRepo">Friend request repository</param> /// <param name="userActivityRepo">User activity repository</param> public FriendController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, IFriendRequestRepository friendRequestRepo, IUserActivityRepository userActivityRepo, IDateTime dateTime) { _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _friendRequestRepo = friendRequestRepo; _userActivityRepo = userActivityRepo; _dateTime = dateTime; }
/// <summary> /// Initialize Profile API /// </summary> /// <param name="userprofileRepo">User profile repository</param> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="backgroundProcessQueue">Background process queue</param> public ProfileController(IUserProfileRepository userprofileRepo, IClassCalendarRepository classCalendarRepo, IDateTime dateTime, Engines.IBackgroundProcessQueue backgroundProcessQueue, UserManager <ApplicationUser> userManager) { _userProfileRepo = userprofileRepo; _classCalendarRepo = classCalendarRepo; _dateTime = dateTime; _userManager = userManager; _backgroundProcessQueue = backgroundProcessQueue; }
/// <summary> /// Initialize discussion controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="commentRepo">Comment repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="likeDiscussionRepo">Like discussion repository</param> public DiscussionController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, ICommentRepository commentRepo, IUserActivityRepository userActivityRepo, ILikeDiscussionRepository likeDiscussionRepo, IDateTime dateTime) { _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _commentRepo = commentRepo; _userActivityRepo = userActivityRepo; _likeDiscussionRepo = likeDiscussionRepo; _dateTime = dateTime; }
public MyController(MyCourseController myCourseCtrl, ProfileController profileCtrl, IUserProfileRepository userprofileRepo, IClassCalendarRepository classCalendarRepo, IOptions<ErrorMessageOptions> errorMsg, ILoggerFactory loggerFactory, IDateTime dateTime) { _myCourseCtrl = myCourseCtrl; _profileCtrl = profileCtrl; _userprofileRepo = userprofileRepo; _classCalendarRepo = classCalendarRepo; _errorMsgs = errorMsg.Value; _logger = loggerFactory.CreateLogger<MyController>(); _dateTime = dateTime; }
/// <summary> /// Initialize comment controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="commentRepo">Comment repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="likeCommentRepo">Like comment repository</param> /// <param name="notificationCtrl">Notification API</param> public CommentController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, ICommentRepository commentRepo, IUserActivityRepository userActivityRepo, ILikeCommentRepository likeCommentRepo, NotificationController notificationCtrl, IDateTime dateTime) { _notificationCtrl = notificationCtrl; _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _commentRepo = commentRepo; _userActivityRepo = userActivityRepo; _likeCommentRepo = likeCommentRepo; _dateTime = dateTime; }
public MyController(MyCourseController myCourseCtrl, ProfileController profileCtrl, IUserProfileRepository userprofileRepo, IClassCalendarRepository classCalendarRepo, IOptions <ErrorMessageOptions> errorMsg, ILoggerFactory loggerFactory, IDateTime dateTime) { _myCourseCtrl = myCourseCtrl; _profileCtrl = profileCtrl; _userprofileRepo = userprofileRepo; _classCalendarRepo = classCalendarRepo; _errorMsgs = errorMsg.Value; _logger = loggerFactory.CreateLogger <MyController>(); _dateTime = dateTime; }
/// <summary> /// Initialize Notification API /// </summary> /// <param name="userprofileRepo">User profile repository</param> /// <param name="notificationRepo">Notification repository</param> /// <param name="commentRepo">Comment repository</param> /// <param name="likeCommentRepo">Like comment repository</param> /// <param name="likeDiscussionRepo">Like discussion repository</param> /// <param name="likeLessonRepo">Like lesson repository</param> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="friendRequestRepo">Friend request repository</param> public NotificationController(IUserProfileRepository userprofileRepo, INotificationRepository notificationRepo, ILikeLessonRepository likeLessonRepo, ILikeCommentRepository likeCommentRepo, ILikeDiscussionRepository likeDiscussionRepo, ICommentRepository commentRepo, IClassCalendarRepository classCalendarRepo, IFriendRequestRepository friendRequestRepo, IDateTime dateTime) { _userProfileRepo = userprofileRepo; _notificationRepo = notificationRepo; _likeCommentRepo = likeCommentRepo; _likeDiscussionRepo = likeDiscussionRepo; _likeLessonRepo = likeLessonRepo; _commentRepo = commentRepo; _classCalendarRepo = classCalendarRepo; _friendRequestRepo = friendRequestRepo; _dateTime = dateTime; }
/// <summary> /// Initialize lesson controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="classRoomRepo">Class room repository</param> /// <param name="likeLessonRepo">Like lesson repository</param> /// <param name="lessonCatalogRepo">Lesson catalog repository</param> /// <param name="commentRepo">Comment repository</param> /// <param name="friendRequestRepo">Friend request repository</param> /// <param name="userActivityRepo">User activity repository</param> public LessonController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, IClassRoomRepository classRoomRepo, ILikeLessonRepository likeLessonRepo, ILessonCatalogRepository lessonCatalogRepo, ICommentRepository commentRepo, IFriendRequestRepository friendRequestRepo, IUserActivityRepository userActivityRepo, IDateTime dateTime) { _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _classRoomRepo = classRoomRepo; _likeLessonRepo = likeLessonRepo; _lessonCatalogRepo = lessonCatalogRepo; _commentRepo = commentRepo; _friendRequestRepo = friendRequestRepo; _userActivityRepo = userActivityRepo; _dateTime = dateTime; }
/// <summary> /// Initialize lesson controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="classRoomRepo">Class room repository</param> /// <param name="likeLessonRepo">Like lesson repository</param> /// <param name="lessonCatalogRepo">Lesson catalog repository</param> /// <param name="commentRepo">Comment repository</param> /// <param name="friendRequestRepo">Friend request repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="notificationCtrl">Notificaotion API</param> public LessonController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, IClassRoomRepository classRoomRepo, ILikeLessonRepository likeLessonRepo, ILessonCatalogRepository lessonCatalogRepo, ICommentRepository commentRepo, IFriendRequestRepository friendRequestRepo, IUserActivityRepository userActivityRepo, NotificationController notificationCtrl, IDateTime dateTime) { _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _classRoomRepo = classRoomRepo; _likeLessonRepo = likeLessonRepo; _lessonCatalogRepo = lessonCatalogRepo; _commentRepo = commentRepo; _friendRequestRepo = friendRequestRepo; _userActivityRepo = userActivityRepo; _dateTime = dateTime; }
/// <summary> /// Initialize comment controller /// </summary> /// <param name="classCalendarRepo">Class calendar repository</param> /// <param name="userprofileRepo">UserProfile repository</param> /// <param name="userActivityRepo">User activity repository</param> /// <param name="classRoomRepo">Class room repository</param> /// <param name="studentKeyRepo">Student key repository</param> /// <param name="lessonCatalogRepo">Lesson catalog repository</param> public MyCourseController(IClassCalendarRepository classCalendarRepo, IUserProfileRepository userprofileRepo, IUserActivityRepository userActivityRepo, IClassRoomRepository classRoomRepo, IStudentKeyRepository studentKeyRepo, ILessonCatalogRepository lessonCatalogRepo, ILikeLessonRepository likeLessonRepo, ILikeCommentRepository likeCommentRepo, ILikeDiscussionRepository likeDiscussionRepo, IDateTime dateTime) { _classCalendarRepo = classCalendarRepo; _userprofileRepo = userprofileRepo; _userActivityRepo = userActivityRepo; _classRoomRepo = classRoomRepo; _studentKeyRepo = studentKeyRepo; _lessonCatalogRepo = lessonCatalogRepo; _likeLessonRepo = likeLessonRepo; _likeCommentRepo = likeCommentRepo; _likeDiscussionRepo = likeDiscussionRepo; _dateTime = dateTime; }