Files
old-svijetlastrana/application/applicationservice/util.go
2018-04-25 13:16:36 +02:00

39 lines
920 B
Go

package applicationservice
import (
"math"
"bitbucket.org/nemt/nemt-portal-api/application/viewmodel"
)
// getTakeSkipPaging return the take and skip from page number and item quantity
func getTakeSkipPaging(quantity int64, page int64) (take int64, skip int64) {
if page < 1 {
page = 1
}
if quantity < 1 {
quantity = 10
} else if quantity > 1000 {
quantity = 1000
}
take = quantity // itens per page
skip = (page - 1) * quantity
return take, skip
}
// buildPaginatedResult returns a paginatedResult instance
func buildPaginatedResult(list interface{}, skip int64, take int64, totalRecords int64) viewmodel.PaginatedResult {
return viewmodel.PaginatedResult{
List: list,
Pagination: viewmodel.ReturnPagination{
CurrentPage: (skip / take) + 1,
RecordsPerPage: take,
TotalRecords: totalRecords,
TotalPages: int64(math.Ceil(float64(totalRecords) / float64(take))),
},
}
}