Пример #1
0
        public async Task <IActionResult> GetVisitStates([FromQuery] VisitStateParametersDto visitStateParametersDto)
        {
            var visitStatesFromRepo = await _visitStateRepository.GetVisitStatesAsync(visitStateParametersDto);

            var paginationMetadata = new
            {
                totalCount        = visitStatesFromRepo.MetaData.TotalCount,
                pageSize          = visitStatesFromRepo.MetaData.PageSize,
                currentPageSize   = visitStatesFromRepo.MetaData.CurrentPageSize,
                currentStartIndex = visitStatesFromRepo.MetaData.CurrentStartIndex,
                currentEndIndex   = visitStatesFromRepo.MetaData.CurrentEndIndex,
                pageNumber        = visitStatesFromRepo.MetaData.PageNumber,
                totalPages        = visitStatesFromRepo.MetaData.TotalPages,
                hasPrevious       = visitStatesFromRepo.MetaData.HasPrevious,
                hasNext           = visitStatesFromRepo.MetaData.HasNext
            };

            Response.Headers.Add("X-Pagination",
                                 JsonSerializer.Serialize(paginationMetadata));

            var stateVisitsDto = _mapper.Map <IEnumerable <VisitStateDto> >(visitStatesFromRepo);
            var response       = new Response <IEnumerable <VisitStateDto> >(stateVisitsDto);

            return(Ok(response));
        }
Пример #2
0
        public async Task <IActionResult> Index(int page = 1, int pageSize = 10, String filters = "", String sortOrder = "")
        {
            ViewBag.pageSize = pageSize;
            ViewBag.filter   = filters;

            ViewData["IdSortParm"]   = sortOrder == "Id" ? "-Id" : "Id";
            ViewData["NameSortParm"] = sortOrder == "Name" ? "-Name" : "Name";

            VisitStateParametersDto companyParameters = new VisitStateParametersDto()
            {
                PageNumber = page,
                PageSize   = pageSize,
                SortOrder  = sortOrder,
                Filters    = filters
            };

            var pagingResponse = await _visitStateRepo.GetVisitStatesAsync(companyParameters);

            return(View(pagingResponse));
        }