예제 #1
0
        public ApiResponse Index([FromQuery] Query query, [FromHeader] Header header)
        {
            if (query.Pagination)
            {
                List <UserRepository> usersRepo = this.userApplication.GetList(query.Search, query.Page, query.PerPage);
                int             count           = this.userApplication.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      = UserItem.MapRepo(usersRepo),
                    Total     = count
                };

                return(new ApiResponsePagination(HttpStatusCode.OK, paginate));
            }
            else
            {
                var usersRepo = this.userApplication.GetList(query.Search, query.Page, query.PerPage);
                return(new ApiResponseDataList(HttpStatusCode.OK, usersRepo, usersRepo.Count));
            }
        }