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