Exemplo n.º 1
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");
        }
Exemplo n.º 2
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));
        }
Exemplo n.º 3
0
        public async void Test1()
        {
            //_db.Include<Download>();
            //_db.Include<Module, Course>();

            var result1 = await _dbReadService.SingleAsync <Download>(d => d.Id.Equals(3));

            var result2 = await _dbReadService.GetAsync <Download>(include : true); // Fetch all

            // Fetch all that matches the Lambda expression
            var result3 = await _dbReadService.GetAsync <Download>(d => d.ModuleId.Equals(1));

            var result4 = await _dbReadService.AnyAsync <Download>(d => d.ModuleId.Equals(1)); // True if a record is found
        }
Exemplo n.º 4
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));
        }
Exemplo n.º 5
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");
        }
Exemplo n.º 6
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));
        }
Exemplo n.º 7
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));
        }
        private async Task FillViewDataAsync(string userId)
        {
            var user = await _dbReadService.SingleAsync <VODUser>(u => u.Id.Equals(userId));

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

            Courses = await _dbReadService.GetQuery <UserCourse>()//produces compact sql query
                      .Where(uc => uc.UserId.Equals(userId))
                      .Select(uc => uc.Course)
                      .ToListAsync();

            var userCourseIds = Courses.Select(uc => uc.Id);

            var availableCourses = await _dbReadService.GetAsync <Course>(
                c => !userCourseIds.Contains(c.Id));

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