public async Task <ActionResult <IEnumerable <CourseEditDTO> > > GetCoursesRef() { // TODO: Caching by user, which can be cleared entirely. //var cachedCourses = await cache.GetCoursesRefAsync(); //if (!(cachedCourses is null)) // return cachedCourses; var courses = await _context.Courses .Include(c => c.CourseInfo) .Include(c => c.Professor) .ToListAsync(); var results = new List <CourseEditDTO>(); foreach (var course in courses) { if ((await authorizationService.AuthorizeAsync(User, course, AuthorizationConstants.CanViewCoursePolicy)).Succeeded) { results.Add(courseMapper.MapCourseEdit(course)); } } //await cache.SetCoursesRefAsync(results); return(results); }
private void MapAssignmentInternal(AssignmentDTO dto, Assignment assignment) { dto.Id = assignment.Id; dto.Course = courseMapper.MapCourseEdit(assignment.Course); dto.Name = assignment.Name; dto.Slug = assignment.Slug; dto.Type = assignment.Type; dto.NumberOfDuplicates = assignment.NumberOfDuplicates; dto.Description = assignment.Description; dto.DateAdded = assignment.DateAdded; dto.StartDate = assignment.StartDate; dto.LastUpdated = assignment.LastUpdated; dto.EndDate = assignment.EndDate; dto.Tasks = assignment.AssignmentTasks.Select(task => taskMapper.MapTask(task)).ToList(); }