Ejemplo n.º 1
0
        public async Task <IEnumerable <Course> > GetCoursesAsync(string userId)
        {
            _db.Include <UserCourse>();
            var userCourses = await _db.GetAsync <UserCourse>(uc => uc.UserId.Equals(userId));

            return(userCourses.Select(c => c.Course));
        }
Ejemplo n.º 2
0
        public async Task <IEnumerable <Character> > GetCharacters(string userId)
        {
            _dbRead.Include <UserCharacter>();
            _dbRead.Include <Character>();

            var userCharacters = await _dbRead.GetAsync <UserCharacter>(uc => uc.UserId.Equals(userId));

            return(userCharacters.Select(c => c.Character));
        }
Ejemplo n.º 3
0
        public async Task <List <TDestination> > GetAsync <TSource, TDestination>(bool include = false) where TSource : class where TDestination : class
        {
            if (include)
            {
                _dbRead.Include <TSource>();
            }
            var entities = await _dbRead.GetAsync <TSource>();

            return(_mapper.Map <List <TDestination> >(entities));
        }
Ejemplo n.º 4
0
        public async Task <List <TDto> > GetAsync <TEntity, TDto>(bool include = false)
            where TEntity : class where TDto : class
        {
            if (include)
            {
                _dbRead.Include <TEntity>();
            }
            var entities = await _dbRead.GetAsync <TEntity>();

            return(_mapper.Map <List <TDto> >(entities));
        }
Ejemplo n.º 5
0
        private async Task FillViewData(string userId)
        {
            // Fetch the user/customer
            var user = await _dbRead.SingleAsync <VODUser>(u =>
                                                           u.Id.Equals(userId));

            Customer = new UserDTO {
                Id = user.Id, Email = user.Email
            };

            // Fetch the user's courses and course ids
            _dbRead.Include <UserCourse>();
            var userCourses = await _dbRead.GetAsync <UserCourse>(uc =>
                                                                  uc.UserId.Equals(userId));

            var usersCourseIds = userCourses.Select(c =>
                                                    c.CourseId).ToList();

            Courses = userCourses.Select(c => c.Course).ToList();



            // Fetch courses that the user doesn't already have access to
            var availableCourses = await _dbRead.GetAsync <Course>(uc => !usersCourseIds.Contains(uc.Id));

            AvailableCourses = availableCourses.ToSelectList("Id", "Title");
        }
Ejemplo n.º 6
0
        public async Task <Course> GetCourse(string userId, int courseId)
        {
            _db.Include <Course, Module>();
            var userCourse = await _db.SingleAsync <UserCourse>(c => c.UserId.Equals(userId) && c.CourseId.Equals(courseId));

            if (userCourse == null)
            {
                return(default);
Ejemplo n.º 7
0
        private async Task FillViewData(string userId)
        {
            var user = await _dbReadService.SingleAsync <VODUser>(u => u.Id.Equals(userId));

            Customer = new UserDTO {
                Id = user.Id, Email = user.Email
            };
            _dbReadService.Include <UserCourse>();
            var userCourses = await _dbReadService.GetAsync <UserCourse>(uc => uc.UserId.Equals(userId));

            var userCourseIds = userCourses.Select(c => c.CourseId).ToList();

            Courses = userCourses.Select(c => c.Course).ToList();
            var availableCourses = await _dbReadService.GetAsync <Course>(uc =>
                                                                          !userCourseIds.Contains(uc.Id));

            AvailableCourses = availableCourses.ToSelectList("Id", "Title");
        }