in src/Modules/SimplCommerce.Module.Pricing/Areas/Pricing/Controllers/CartRuleUsageApiController.cs [24:81]
public IActionResult List([FromBody] SmartTableParam param)
{
IQueryable<CartRuleUsage> query = _cartRuleUsageRepository
.Query();
if (param.Search.PredicateObject != null)
{
dynamic search = param.Search.PredicateObject;
if (search.RuleName != null)
{
string ruleName = search.RuleName;
query = query.Where(x => x.CartRule.Name.Contains(ruleName));
}
if (search.CouponCode != null)
{
string couponCode = search.CouponCode;
query = query.Where(x => x.Coupon.Code.Contains(couponCode));
}
if (search.FullName != null)
{
string fullName = search.FullName;
query = query.Where(x => x.User.FullName.Contains(fullName));
}
if (search.CreatedOn != null)
{
if (search.CreatedOn.before != null)
{
DateTimeOffset before = search.CreatedOn.before;
query = query.Where(x => x.CreatedOn <= before);
}
if (search.CreatedOn.after != null)
{
DateTimeOffset after = search.CreatedOn.after;
query = query.Where(x => x.CreatedOn >= after);
}
}
}
var cartRuleUsages = query.ToSmartTableResult(
param,
x => new
{
x.Id,
x.CartRuleId,
CartRuleName = x.CartRule.Name,
x.UserId,
x.User.FullName,
CouponCode = x.Coupon.Code,
x.OrderId,
x.CreatedOn
});
return Json(cartRuleUsages);
}