public ApiResponse Index([FromQuery] Query query, [FromHeader] Header header) { if (query.Pagination) { var authorsRepo = this.authorApplication.GetList(query.Search, query.Page, query.PerPage); int count = this.authorApplication.Count(query.Search); decimal pageInCount = ((decimal)count) / query.PerPage; PaginationModel paginate = (new PaginationModel() { TotalPage = (int)Math.Ceiling(pageInCount), Page = query.Page, PerPage = query.PerPage, Data = AuthorItem.MapRepo(authorsRepo), Total = count }); return(new ApiResponsePagination(HttpStatusCode.OK, paginate)); } else { var authorsRepo = this.authorApplication.GetList(query.Search, query.Page, query.PerPage); return(new ApiResponseDataList(HttpStatusCode.OK, authorsRepo, authorsRepo.Count)); } }