public async Task <PaginationResultModel> GetByFilter(PaginationParamsModel paginationParams) { PaginationResultModel response = new PaginationResultModel(); string searchString = paginationParams.SearchString; IQueryable <SucceededOperation> operations = _userDbContext.SucceededOperations.Where(operation => operation.AccountId == paginationParams.AccountId); if (!string.IsNullOrEmpty(searchString)) { operations = operations.Where(operation => operation.AccountId.ToString().Contains(searchString) || operation.Id.ToString().Contains(searchString) || operation.Balance.ToString().Contains(searchString) || operation.OperationTime.ToString().Contains(searchString) || operation.TransactionAmount.ToString().Contains(searchString) ); } response.OperationsTotal = await operations.CountAsync(); SortField sortField = paginationParams.SortField; List <SucceededOperation> operationList = await operations .OrderBy(sortField.ToString(), paginationParams.SortDirection .ToString() == "Asc"?false : true) .Skip((paginationParams.PageIndex) * paginationParams.PageSize).Take(paginationParams.PageSize) .ToListAsync(); response.OperationsList = _mapper.Map <List <SucceededOperationModel> >(operationList); return(response); }
public async Task <PaginationResultDTO> Get([FromQuery] PaginationParamsDTO paginationParamsDTO) { PaginationParamsModel paginationParams = _mapper.Map <PaginationParamsModel>(paginationParamsDTO); PaginationResultModel operationList = await _operationsHistoryService.GetByFilter(paginationParams); PaginationResultDTO paginationResultDTO = _mapper.Map <PaginationResultDTO>(operationList); return(paginationResultDTO); }
public async Task <PaginationResultModel> GetByFilter(PaginationParamsModel paginationParams) { return(await _operationsHistoryRepository.GetByFilter(paginationParams)); }