public async Task <ActionResult <CursorPaginatedResponse <ExerciseForReturnDto> > > GetExercisesForEquipmentAsync(int id, [FromQuery] CursorPaginationParams searchParams) { var exerciseSearchParams = new ExerciseSearchParams { First = searchParams.First, After = searchParams.After, Last = searchParams.Last, Before = searchParams.Before, IncludeTotal = searchParams.IncludeTotal, EquipmentId = new List <int> { id } }; var exercises = await exerciseRepository.SearchAsync(exerciseSearchParams); var paginatedResponse = CursorPaginatedResponse <ExerciseForReturnDto> .CreateFrom(exercises, mapper.Map <IEnumerable <ExerciseForReturnDto> >); return(Ok(paginatedResponse)); }
public async Task <ActionResult <CursorPaginatedResponse <MuscleForReturnDetailedDto> > > GetMusclesDetailedAsync([FromQuery] CursorPaginationParams searchParams) { var muscles = await muscleRepository.SearchDetailedAsync(searchParams); var paginatedResponse = CursorPaginatedResponse <MuscleForReturnDetailedDto> .CreateFrom(muscles, mapper.Map <IEnumerable <MuscleForReturnDetailedDto> >); return(Ok(paginatedResponse)); }
public static Task <CursorPagedList <T> > CreateAsync(IQueryable <T> source, CursorPaginationParams searchParams) { return(CreateAsync(source, searchParams.First, searchParams.After, searchParams.Last, searchParams.Before, searchParams.IncludeTotal)); }
public async Task <ActionResult <CursorPaginatedResponse <WorkoutInvitationForReturnDto> > > GetSentWorkoutInvitationsForUserAsync(int userId, [FromQuery] CursorPaginationParams searchParams, string status) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var invSearchParams = new WorkoutInvitationSearchParams { First = searchParams.First, After = searchParams.After, Last = searchParams.Last, Before = searchParams.Before, IncludeTotal = searchParams.IncludeTotal, InviterId = userId, Status = status }; var invitations = await workoutInvitationRepository.SearchAsync(invSearchParams); var paginatedResponse = CursorPaginatedResponse <WorkoutInvitationForReturnDto> .CreateFrom(invitations, mapper.Map <IEnumerable <WorkoutInvitationForReturnDto> >); return(Ok(paginatedResponse)); }
public async Task <ActionResult <CursorPaginatedResponse <RoleForReturnDto> > > GetRolesAsync([FromQuery] CursorPaginationParams searchParams) { var roles = await userRepository.GetRolesAsync(searchParams); var paginatedResponse = CursorPaginatedResponse <RoleForReturnDto> .CreateFrom(roles, mapper.Map <IEnumerable <RoleForReturnDto> >); return(Ok(paginatedResponse)); }
public Task <CursorPagedList <ExerciseGroup> > GetScheduledWorkoutAdHocExercisesAsync(int scheduledWorkoutId, CursorPaginationParams searchParams) { IQueryable <ExerciseGroup> query = context.ExerciseGroups .Where(eg => eg.ScheduledWorkout.Id == scheduledWorkoutId) .Include(eg => eg.Exercise); return(CursorPagedList <ExerciseGroup> .CreateAsync(query, searchParams)); }
public Task <CursorPagedList <User> > GetScheduledWorkoutAttendeesAsync(int scheduledWorkoutId, CursorPaginationParams searchParams) { IQueryable <User> query = context.ScheduledWorkouts .Where(wo => wo.Id == scheduledWorkoutId) .SelectMany(swo => swo.Attendees.Select(attendee => attendee.User)); return(CursorPagedList <User> .CreateAsync(query, searchParams)); }
public async Task <ActionResult <CursorPaginatedResponse <UserForReturnDto> > > GetScheduledWorkoutAttendeesAsync(int id, [FromQuery] CursorPaginationParams searchParams) { var workout = await scheduledWorkoutRepository.GetByIdAsync(id); if (workout == null) { return(NotFound()); } var attendees = await scheduledWorkoutRepository.GetScheduledWorkoutAttendeesAsync(id, searchParams); var paginatedResponse = CursorPaginatedResponse <UserForReturnDto> .CreateFrom(attendees, mapper.Map <IEnumerable <UserForReturnDto> >); return(Ok(paginatedResponse)); }