public InviteService(IInviteEmailService inviteEmailService,
                      IManageCoursesDbContext context,
                      IClock clock)
 {
     _inviteEmailService = inviteEmailService;
     _context            = context;
     _clock = clock;
 }
Ejemplo n.º 2
0
 /// <inheritdoc />
 public UserService(IManageCoursesDbContext context, IWelcomeEmailService welcomeEmailService, IClock clock)
 {
     _context             = context;
     _welcomeEmailService = welcomeEmailService;
     _clock = clock;
 }
 public DevOpsController(ILogger <DevOpsController> logger, IManageCoursesDbContext context)
 {
     _logger  = logger;
     _context = context;
 }
Ejemplo n.º 4
0
 public AccessRequestService(IManageCoursesDbContext context, IAccessRequestEmailService emailService)
 {
     _context      = context;
     _emailService = emailService;
 }
Ejemplo n.º 5
0
 public OrganisationsController(IManageCoursesDbContext context, IEnrichmentService enrichmentService)
 {
     _context           = context;
     _enrichmentService = enrichmentService;
 }
 public AcceptTermsController(IManageCoursesDbContext context)
 {
     this.context = context;
 }
Ejemplo n.º 7
0
 public EnrichmentService(IManageCoursesDbContext context)
 {
     _context   = context;
     _converter = new EnrichmentConverter();
 }
 public TransitionService(IManageCoursesDbContext context)
 {
     _context = context;
 }
Ejemplo n.º 9
0
        public List <SearchCourse> ReadAllCourseData(IManageCoursesDbContext context)
        {
            _logger.Information("Retrieving courses");
            var courses = context.Courses
                          .Where(x => x.Provider.RecruitmentCycle.Year == RecruitmentCycle.CurrentYear)
                          .Include(x => x.Provider)
                          .Include(x => x.CourseSubjects).ThenInclude(x => x.Subject)
                          .Include(x => x.AccreditingProvider)
                          .Include(x => x.CourseSites).ThenInclude(x => x.Site)
                          .Include(x => x.CourseEnrichments).ThenInclude(x => x.CreatedByUser)
                          .Include(x => x.CourseEnrichments).ThenInclude(x => x.UpdatedByUser)
                          .ToList();

            foreach (var course in courses)
            {
                course.CourseSites = new Collection <CourseSite>(course.CourseSites.Where(x => x.Publish == "Y").ToList());
            }

            _logger.Information($" - {courses.Count()} courses");

            _logger.Information("Retrieving enrichments");

            var orgEnrichments = context.ProviderEnrichments
                                 .Include(x => x.CreatedByUser)
                                 .Include(x => x.UpdatedByUser)
                                 .Where(x => x.Status == EnumStatus.Published && x.Provider.RecruitmentCycle.Year == RecruitmentCycle.CurrentYear)
                                 .ToLookup(x => x.ProviderCode)
                                 .ToDictionary(x => x.Key, x => x.OrderByDescending(y => y.UpdatedAt).First());

            _logger.Information($" - {orgEnrichments.Count()} orgEnrichments");

            var courseMapper = new CourseMapper();
            var converter    = new EnrichmentConverter();

            var mappedCourses = new List <SearchAndCompare.Domain.Models.Course>();

            _logger.Information("Combine courses with provider and enrichment data");

            foreach (var c in courses)
            {
                var courseEnrichment = c.CourseEnrichments
                                       .OrderByDescending(y => y.UpdatedAt)
                                       .FirstOrDefault(x => x.Status == EnumStatus.Published);

                var mappedCourse = courseMapper.MapToSearchAndCompareCourse(
                    c.Provider,
                    c,
                    converter.Convert(orgEnrichments.GetValueOrDefault(c.Provider.ProviderCode))?.EnrichmentModel,
                    converter.Convert(courseEnrichment)?.EnrichmentModel
                    );

                if (!mappedCourse.Campuses.Any())
                {
                    // only publish running courses
                    continue;
                }

                if (!mappedCourse.CourseSubjects.Any())
                {
                    _logger.Warning(
                        $"failed to assign subject to [{c.Provider.ProviderCode}]/[{c.CourseCode}] {c.Name}. UCAS tags: {c.Subjects}");
                    // only publish courses we could map to one or more subjects.
                    continue;
                }

                // hacks - remove when coursemapper refactor has completed
                mappedCourse.ProviderLocation = new Location {
                    Address = mappedCourse.ContactDetails.Address
                };
                mappedCourse.Fees   = mappedCourse.Fees ?? new Fees();
                mappedCourse.Salary = mappedCourse.Salary ?? new Salary();

                mappedCourses.Add(mappedCourse);
            }

            return(mappedCourses);
        }
Ejemplo n.º 10
0
 public AcceptTermsFilter(IManageCoursesDbContext context)
 {
     this.dbContext = context;
 }
 public DataService(IManageCoursesDbContext context, IEnrichmentService enrichmentService, ILogger <DataService> logger)
 {
     _context           = context;
     _enrichmentService = enrichmentService;
     _logger            = logger;
 }
 public AdminController(IManageCoursesDbContext context)
 {
     _context = context;
 }