public async Task <ApiResult> GetPagedAsync(CoursesPagination coursesPagination) { var amount = await courses.GetCountAsync(); var pagination = new Pagination(); pagination.SetDefaults(amount, pageSize: 8); coursesPagination.Pagination ??= pagination; var skip = coursesPagination.Pagination .GetSkip(); var take = coursesPagination.Pagination .GetTake(); var coursesData = await courses.GetPortion(skip, take) .ToArrayAsync(); var models = mapperWrapper.MapModels(coursesData); imageWorker.SetCoursesImages(models); var data = new { pagination = coursesPagination.Pagination, courses = models }; var result = ApiResult.GetOkResult(ApiResultStatus.Ok, data: data); return(result); }
public async Task <IActionResult> GetPaged([FromBody] CoursesPagination coursesPagination) { var result = await coursesService.GetPagedAsync(coursesPagination); return(this.GetActionResult(result, logger)); }