Esempio n. 1
0
        public IActionResult GetDrawerDetections([FromQuery] DrawerDetectionQueryFilter filters)
        {
            //var request = _httpContextAccessor.HttpContext.Request;
            //string str = request.QueryString.ToString();
            //string stringBeforeChar = str.Substring(0, str.IndexOf("&"));
            var drawerDetections    = _drawerDetectionService.GetDrawerDetections(filters);
            var drawerDetectionsDto = _mapper.Map <IEnumerable <DrawerDetectionDto> >(drawerDetections);
            //var nextPage = bookGroups.CurrentPage >= 1 && bookGroups.CurrentPage < bookGroups.TotalCount
            //               ? _uriService.GetPageUri(bookGroups.CurrentPage + 1, bookGroups.PageSize, _uriService.GetBookGroupPaginationUri(filters, Url.RouteUrl(nameof(GetBookGroups))).ToString() + stringBeforeChar)
            //               : null;
            //var previousPage = bookGroups.CurrentPage - 1 >= 1 && bookGroups.CurrentPage < bookGroups.TotalCount
            //               ? _uriService.GetPageUri(bookGroups.CurrentPage - 1, bookGroups.PageSize, _uriService.GetBookGroupPaginationUri(filters, Url.RouteUrl(nameof(GetBookGroups))).ToString() + stringBeforeChar)
            //               : null;
            var metadata = new Metadata
            {
                TotalCount      = drawerDetections.TotalCount,
                PageSize        = drawerDetections.PageSize,
                CurrentPage     = drawerDetections.CurrentPage,
                TotalPages      = drawerDetections.TotalPages,
                HasNextPage     = drawerDetections.HasNextPage,
                HasPreviousPage = drawerDetections.HasPreviousPage,
            };

            var response = new ApiResponse <IEnumerable <DrawerDetectionDto> >(drawerDetectionsDto)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            return(Ok(response));
        }
Esempio n. 2
0
        public PagedList <DrawerDetection> GetDrawerDetections(DrawerDetectionQueryFilter filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;
            var drawerDetections = _unitOfWork.DrawerDetectionRepository.GetAll();

            var pagedDrawerDetections = PagedList <DrawerDetection> .Create(drawerDetections, filters.PageNumber, filters.PageSize);

            return(pagedDrawerDetections);
        }
Esempio n. 3
0
        public Uri GetDrawerDetectionPaginationUri(DrawerDetectionQueryFilter filter, string actionUrl)
        {
            string baseUrl = $"{_baseUri}{actionUrl}";

            return(new Uri(baseUrl));
        }