public List <WorkoutSchedule> GetAll(WorkoutScheduleSearchParams searchParams) { var query = _context.WorkoutSchedules .Include(x => x.Workout) .AsQueryable(); if (searchParams.DayOfWeek != null) { query = query.Where(x => x.DayOfTheWeek == searchParams.DayOfWeek); } if (!string.IsNullOrEmpty(searchParams.WorkoutId)) { int id = int.Parse(searchParams.WorkoutId); query = query.Where(x => x.WorkoutId == id); } if (searchParams.TimeFrom != null) { query = query.Where(x => x.TimeOfTheDay >= searchParams.TimeFrom); } if (searchParams.TimeTo != null) { query = query.Where(x => x.TimeOfTheDay <= searchParams.TimeTo); } return(query .OrderBy(x => x.WorkoutId) .OrderBy(x => x.TimeOfTheDay) .Select(x => WorkoutScheduleMapper.fromDb(x)) .ToList()); }
public WorkoutSchedule GetById(int Id) { Database.WorkoutSchedule workoutSchedule = _context.WorkoutSchedules .Include(x => x.Workout) .Where(x => x.Id == Id) .FirstOrDefault(); if (workoutSchedule == null) { throw new ResourceNotFoundException($"WorkoutSchedule with id: {Id} not found"); } return(WorkoutScheduleMapper.fromDb(workoutSchedule)); }