示例#1
0
        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);
        }
示例#3
0
 public async Task <PaginationResultModel> GetByFilter(PaginationParamsModel paginationParams)
 {
     return(await _operationsHistoryRepository.GetByFilter(paginationParams));
 }