Example #1
0
        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));
            }
        }