示例#1
0
        public async Task <PagedList <ClientDocumentType> > GetAll(ClientDocumentTypeQueryFilters filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;
            var clientDocumentType = await _clientDocumentTypeRepository.GetAll();

            if (filters.clientDocumentType_Id > 0)
            {
                clientDocumentType = clientDocumentType.Where(x => x.ClientDocumentType_Id == filters.clientDocumentType_Id);
            }

            if (filters.client_Id > 0)
            {
                clientDocumentType = clientDocumentType.Where(x => x.Client_Id == filters.client_Id);
            }

            if (filters.documentType_Id > 0)
            {
                clientDocumentType = clientDocumentType.Where(x => x.DocumentType_Id == filters.documentType_Id);
            }

            var pageClient = PagedList <ClientDocumentType> .Create(clientDocumentType, filters.PageNumber, filters.PageSize);

            return(pageClient);
        }
        public async Task <IActionResult> GetAllClientDocumentType([FromQuery] ClientDocumentTypeQueryFilters filters)
        {
            var clientDocument = await _clientDocumentTypeServices.GetAll(filters);

            var clientDocumentDto = _mapper.Map <IEnumerable <ClientDocumentTypeDTO> >(clientDocument);

            Metadata metadata = MetadaFill(clientDocument);

            var response = new GenericResponse <IEnumerable <ClientDocumentTypeDTO> >(clientDocumentDto)
            {
                meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));
            return(Ok(response));
        }