public Models.Workout.Workout GetById(int Id) { Workout dbWorkout = _context.Workouts .Include(x => x.WorkoutType) .Include(x => x.Trainer) .ThenInclude(x => x.AppUser) .Where(x => x.Id == Id) .FirstOrDefault(); if (dbWorkout == null) { throw new ResourceNotFoundException($"Workout with id {Id} not found"); } return(WorkoutMapper.FromDb(dbWorkout)); }
public List <Models.Workout.Workout> GetAll(Models.Requests.Workout.WorkoutSearchParams searchParams, UserInfo userInfo) { IQueryable <Workout> query = _context.Workouts .Include(x => x.WorkoutType) .Include(x => x.Trainer) .ThenInclude(x => x.AppUser) .AsQueryable(); if (userInfo.Role == "TRAINER") { searchParams.TrainerId = userInfo.Id; } if (!string.IsNullOrEmpty(searchParams.Difficulty)) { query = query.Where(x => x.Difficulty.Equals(searchParams.Difficulty)); } if (searchParams.Duration != null) { query = query.Where(x => x.Duration == searchParams.Duration); } if (searchParams.TrainerId != null) { query = query.Where(x => x.Trainer.AppUser.Id.Equals(searchParams.TrainerId)); } if (!string.IsNullOrEmpty(searchParams.WorkoutType)) { query = query.Where(x => x.WorkoutType.Name == searchParams.WorkoutType); } return(query.Select(x => WorkoutMapper.FromDb(x)) .ToList()); }
public void Initialize() { _model = new Workout(); _mapper = new WorkoutMapper(); _mock = new Mock <Workout>(MockBehavior.Strict); }