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)); }
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)); }
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)); }
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 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"); }
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);
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"); }