示例#1
0
 public virtual ActionResult Manage(PaymentSearchFilter filter)
 {
     ViewBag.WithoutAddButton = true;
     if (!Request.IsAjaxRequest())
     {
         return(View(_paymentSrv.Get(filter)));
     }
     else
     {
         return(PartialView("Partials/_List", _paymentSrv.Get(filter)));
     }
 }
示例#2
0
        public PaymentModel GetItemsAndCount(PaymentSearchFilter filter)
        {
            var q = _appContext.Set <Payment>()
                    .AsNoTracking()
                    .Include(x => x.PaymentGateway)
                    .Include(x => x.Order)
                    .Include(x => x.Order.User)
                    .Include(x => x.Order.Store)
                    .Include(x => x.Order.Store.User)
                    .AsQueryable();

            if (filter != null)
            {
                if (filter.UserId != null)
                {
                    q = q.Where(x => x.Order.Store.UserId == filter.UserId);
                }
                if (filter.StoreId != null)
                {
                    q = q.Where(x => x.Order.StoreId == filter.StoreId);
                }
                if (!string.IsNullOrWhiteSpace(filter.FromDateSh))
                {
                    var dt = PersianDateTime.Parse(filter.FromDateSh).ToDateTime();
                    q = q.Where(x => x.InsertDateMi >= dt);
                }
                if (!string.IsNullOrWhiteSpace(filter.ToDateSh))
                {
                    var dt = PersianDateTime.Parse(filter.ToDateSh).ToDateTime();
                    q = q.Where(x => x.InsertDateMi <= dt);
                }
                if (!string.IsNullOrWhiteSpace(filter.TransactionId))
                {
                    q = q.Where(x => x.TransactionId == filter.TransactionId);
                }
                if (filter.PaymentStatus != null)
                {
                    q = q.Where(x => x.PaymentStatus == filter.PaymentStatus);
                }
            }
            return(new PaymentModel
            {
                PagedList = q.ToPagingListDetails(filter),
                TotalPrice = q.Sum(x => x.Price)
            });
        }
示例#3
0
 public PaymentModel Get(PaymentSearchFilter filter) => _paymentRepo.GetItemsAndCount(filter);