Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }