コード例 #1
0
 public PagingListDetails<TempOrderDetailModel> GetBaskets(TempOrderDetailSearchFilter filter)
 {
     var q = _appContext.Set<TempOrderDetail>().AsQueryable();
     if (filter != null)
     {
         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.FromDateSh).ToDateTime();
             q = q.Where(x => x.InsertDateMi <= dt);
         }
         if (filter.BasketId != null)
         {
             var isGuid = Guid.TryParse(filter.BasketId, out Guid id);
             if (isGuid) q = q.Where(x => x.BasketId == id);
         }
     }
     var groups = q.GroupBy(x => new
     {
         x.BasketId,
         x.InsertDateSh
     })
     .Select(x => new TempOrderDetailModel
     {
         BasketId = x.Key.BasketId,
         InsertDateSh = x.Key.InsertDateSh,
         TotalPrice = x.Sum(i => i.TotalPrice)
     });
     var items = groups.OrderByDescending(x => x.InsertDateSh)
     .Skip((filter.PageNumber - 1) * filter.PageSize)
     .Take(filter.PageSize)
     .ToList();
     var count = q.Count();
     return new PagingListDetails<TempOrderDetailModel>
     {
         PageNumber = filter.PageNumber,
         PageSize = filter.PageSize,
         Items = new PagingList<TempOrderDetailModel>(items, count, filter),
         TotalCount = count
     };
 }
コード例 #2
0
 public virtual ActionResult Manage(TempOrderDetailSearchFilter filter)
 {
     if (!Request.IsAjaxRequest()) return View(_TempOrderDetailSrv.Get(filter));
     else return PartialView("Partials/_List", _TempOrderDetailSrv.Get(filter));
 }
コード例 #3
0
 public PagingListDetails <TempOrderDetailModel> Get(TempOrderDetailSearchFilter filter) => _tempOrderDetailRepo.GetBaskets(filter);