in src/Modules/SimplCommerce.Module.Comments/Areas/Comments/Controllers/CommentApiController.cs [57:114]
public ActionResult List([FromBody] SmartTableParam param)
{
var query = _commentRepository.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 = (CommentStatus) 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 comments = query.ToSmartTableResult(
param,
x => new
{
x.Id,
x.CommenterName,
x.CommentText,
x.EntityName,
x.EntitySlug,
x.ParentId,
Type = x.ParentId == null ? "Comment" : "Reply",
Status = x.Status.ToString(),
x.CreatedOn
});
return Json(comments);
}