in src/Modules/SimplCommerce.Module.Contacts/Areas/Contacts/Controllers/ContactApiController.cs [32:80]
public IActionResult Get([FromBody] SmartTableParam param)
{
var query = _contactRepository.Query()
.Where(x => !x.IsDeleted);
if (param.Search.PredicateObject != null)
{
dynamic search = param.Search.PredicateObject;
if (search.FullName != null)
{
string name = search.FullName;
query = query.Where(x => x.FullName.Contains(name));
}
if (search.ContactAreaId != null)
{
long id = search.ContactAreaId;
query = query.Where(x => x.ContactArea.Id == id);
}
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 contacts = query.ToSmartTableResult(
param,
x => new
{
Id = x.Id,
FullName = x.FullName,
ContactArea = x.ContactArea.Name,
CreatedOn = x.CreatedOn,
Content = x.Content
});
return Json(contacts);
}