Пример #1
0
 public List <Transaction> List(TransactionSearchParams transactionSearch)
 {
     return(Transactions
            .ApplySearch(transactionSearch)
            .Select(x => x.ToModel())
            .ToList());
 }
Пример #2
0
        public PagedResponse <Transaction> List([FromQuery] TransactionSearchParams search)
        {
            var t = TransactionService.List(search.ToModel());

            return(new PagedResponse <Transaction>
            {
                Values = t.Take(Utils.PageSize),
                MorePages = t.Count() > Utils.PageSize
            });
        }
Пример #3
0
 public List <Transaction> List(TransactionSearchParams transactionSearch)
 {
     return(TransactionRepository.List(transactionSearch));
 }
Пример #4
0
 public static IQueryable <Transaction> ApplySearch(this IQueryable <Transaction> query, TransactionSearchParams searchParams)
 {
     if (searchParams.Before != null)
     {
         query = query.Where(x => x.Date <= searchParams.Before);
     }
     if (searchParams.After != null)
     {
         query = query.Where(x => x.Date >= searchParams.After);
     }
     if (searchParams.AmountLess != null)
     {
         query = query.Where(x => x.Amount <= searchParams.AmountLess);
     }
     if (searchParams.AmountMore != null)
     {
         query = query.Where(x => x.Amount <= searchParams.AmountMore);
     }
     if (searchParams.PartnerId != null)
     {
         query = query.Where(x => x.Partner.Id == searchParams.PartnerId);
     }
     if (searchParams.AmountMore != null)
     {
         query = query.Where(x => x.AccountNumber.Contains(searchParams.AccountNumber));
     }
     if (searchParams.TransactionIdentifier != null)
     {
         query = query.Where(x => x.TransactionIdentifier.Contains(searchParams.TransactionIdentifier));
     }
     return(query
            .Skip(Utils.PageSize * searchParams.Page)
            .Take(Utils.PageSize + 1));
 }