示例#1
0
        public IActionResult Get([FromQuery] PagingDto pagingDto, [FromQuery] AccountFilterDto accountFilterDto)
        {
            var repiq = this._context.Receipts.AsQueryable();

            if (accountFilterDto.ClientId != null)
            {
                repiq = repiq.Where(c => c.ClientId == accountFilterDto.ClientId);
            }
            if (accountFilterDto.IsPay != null)
            {
                repiq = repiq.Where(c => c.IsPay == (bool)accountFilterDto.IsPay);
            }
            if (accountFilterDto.Date != null)
            {
                repiq = repiq.Where(c => c.Date == accountFilterDto.Date);
            }
            var totalRreq = repiq.Count();
            var replist   = repiq.Skip((pagingDto.Page - 1) * pagingDto.RowCount).Take(pagingDto.RowCount)
                            .Include(c => c.Client)
                            .Include(c => c.ClientPayment)
                            .ToList();
            var data = _mapper.Map <ReceiptDto[]>(replist);

            return(Ok(new { data, total = totalRreq }));
        }
 private static SimplePredicate FilterId(AccountFilterDto filter)
 {
     if (filter.Id.Equals(Guid.Empty))
     {
         return(null);
     }
     return(new SimplePredicate(nameof(Account.Id), ValueComparingOperator.Equal, filter.Id));
 }
 private static SimplePredicate FilterEmail(AccountFilterDto filter)
 {
     if (string.IsNullOrWhiteSpace(filter.Email))
     {
         return(null);
     }
     return(new SimplePredicate(nameof(Account.Email), ValueComparingOperator.Equal, filter.Email));
 }
 private IPredicate FilterUsername(AccountFilterDto filter)
 {
     return(string.IsNullOrWhiteSpace(filter.Username)
         ? null
         : new SimplePredicate(nameof(Account.Username),
                               ValueComparingOperator.Equal,
                               filter.Username));
 }
示例#5
0
        public async Task <ActionResult> List(int page = 1)
        {
            var filter = new AccountFilterDto {
                PageSize = PageSize, RequestedPageNumber = page
            };
            var result = await AccountFacade.ListAccountsAsync(filter);

            // Paging
            ViewBag.RequestedPageNumber = result.RequestedPageNumber;
            ViewBag.PageCount           = (int)Math.Ceiling((double)result.TotalItemsCount / (double)PageSize);
            // Paging END

            return(View("List", result.Items));
        }
        protected override IQuery <Account> ApplyWhereClause(IQuery <Account> query, AccountFilterDto filter)
        {
            var predicates = new List <IPredicate>();

            AddIfDefined(FilterUsername(filter), predicates);
            AddIfDefined(FilterEmail(filter), predicates);

            if (predicates.Count == 0)
            {
                return(query);
            }
            if (predicates.Count == 1)
            {
                return(query.Where(predicates.First()));
            }
            var wherePredicate = new CompositePredicate(predicates);

            return(query.Where(wherePredicate));
        }
 public async Task <QueryResultDto <AccountDto, AccountFilterDto> > ListAccountsAsync(AccountFilterDto filter)
 {
     using (UnitOfWorkProvider.Create())
     {
         return(await _accountService.ListAccountsAsync(filter));
     }
 }