public InviteService(IInviteEmailService inviteEmailService, IManageCoursesDbContext context, IClock clock) { _inviteEmailService = inviteEmailService; _context = context; _clock = clock; }
/// <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; }
public AccessRequestService(IManageCoursesDbContext context, IAccessRequestEmailService emailService) { _context = context; _emailService = emailService; }
public OrganisationsController(IManageCoursesDbContext context, IEnrichmentService enrichmentService) { _context = context; _enrichmentService = enrichmentService; }
public AcceptTermsController(IManageCoursesDbContext context) { this.context = context; }
public EnrichmentService(IManageCoursesDbContext context) { _context = context; _converter = new EnrichmentConverter(); }
public TransitionService(IManageCoursesDbContext context) { _context = context; }
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); }
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; }