public List <PaymentEntity> Get(PaymentFilterModel paymentFilterModel = null)
        {
            Expression <Func <PaymentEntity, bool> > filter = null;

            if (paymentFilterModel is not null)
            {
                filter = payment => string.IsNullOrWhiteSpace(paymentFilterModel.TransactionId) || payment.TransactionId == paymentFilterModel.TransactionId;
            }
            return(base.Get(filter).ToList());
        }
Beispiel #2
0
        public void PayOrder(string paymentIntentId)
        {
            if (string.IsNullOrWhiteSpace(paymentIntentId))
            {
                throw new CustomApiException(HttpStatusCode.UnprocessableEntity, Constants.INVALIDINTENTIDERROR);
            }
            var paymentFilter = new PaymentFilterModel {
                TransactionId = paymentIntentId
            };
            var payment = _paymentRepository.Get(paymentFilter).FirstOrDefault();
            var filter  = new OrderFilterModel
            {
                PaymentId = payment.Id
            };
            var order = _orderRepository.Get(filter).FirstOrDefault();

            order.Status = Enums.OrderStatusType.Paid;
            _orderRepository.Update(order);
        }
Beispiel #3
0
        public async Task <ResultDataModel <IEnumerable <Payment> > > GetByUser(int userId, PaymentFilterModel filterModel)
        {
            var filter = new BaseFilter()
            {
                UserId      = userId,
                Description = filterModel.Description.FormatToLike(),
                StartDate   = filterModel.StartDate.FixStartTimeFilter(),
                EndDate     = filterModel.StartDate.FixEndTimeFilter()
            };
            var list = await _paymentRepository.GetSome(filter);

            if (filterModel.Done.HasValue)
            {
                if (filterModel.Done.Value)
                {
                    list = list.Where(p => p.Done);
                }
                else
                {
                    list = list.Where(p => !p.Done);
                }
            }
            list = list.OrderByDescending(p => p.Date);
            return(new ResultDataModel <IEnumerable <Payment> >(list));
        }