in src/Modules/SimplCommerce.Module.Reviews/Areas/Reviews/Controllers/ReviewApiController.cs [59:116]
public ActionResult List([FromBody] SmartTableParam param)
{
var query = _reviewRepository.List();
if (param.Search.PredicateObject != null)
{
dynamic search = param.Search.PredicateObject;
if (search.Id != null)
{
long id = search.Id;
query = query.Where(x => x.Id == id);
}
if (search.EntityName != null)
{
string entityName = search.EntityName;
query = query.Where(x => x.EntityName == entityName);
}
if (search.Status != null)
{
var status = (ReviewStatus) search.Status;
query = query.Where(x => x.Status == status);
}
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 reviews = query.ToSmartTableResult(
param,
x => new
{
x.Id,
x.ReviewerName,
x.Rating,
x.Title,
x.Comment,
x.EntityName,
x.EntitySlug,
Status = x.Status.ToString(),
x.CreatedOn
});
return Json(reviews);
}