Exemplo n.º 1
0
 protected override IQuery <Payment> ApplyWhereClause(IQuery <Payment> query, PaymentFilterDto filter)
 {
     return(filter.AuctionId.Equals(Guid.Empty)
         ? query
         : query.Where(new SimplePredicate(nameof(Payment.AuctionId), ValueComparingOperator.Equal,
                                           filter.AuctionId)));
 }
        public IActionResult Get([FromQuery] PagingDto pagingDto, [FromQuery] PaymentFilterDto Filter)
        {
            var paymentRquest = this._context.PaymentRequests
                                .Include(c => c.Client)
                                .Include(c => c.PaymentWay)
                                .AsQueryable();

            if (Filter.Id != null)
            {
                paymentRquest = paymentRquest.Where(c => c.Id.ToString().StartsWith(Filter.Id.ToString()));
            }
            if (Filter.ClientId != null)
            {
                paymentRquest = paymentRquest.Where(c => c.ClientId == Filter.ClientId);
            }
            if (Filter.PaymentWayId != null)
            {
                paymentRquest = paymentRquest.Where(c => c.PaymentWayId == Filter.PaymentWayId);
            }
            if (Filter.Accept != null)
            {
                paymentRquest = paymentRquest.Where(c => c.Accept == Filter.Accept);
            }
            if (Filter.CreateDate != null)
            {
                paymentRquest = paymentRquest.Where(c => c.CreateDate == Filter.CreateDate);
            }
            var total = paymentRquest.Count();
            var list  = paymentRquest.Skip(pagingDto.Page - 1).Take(pagingDto.RowCount);

            return(Ok(new { total, data = _mapper.Map <PayemntRquestDto[]>(list) }));
        }