|
public ActionResult UrlDatasource(DataManagerRequest dm)
{
IQueryable DataSource = db.C30000Records.AsQueryable();
QueryableOperation operation = new QueryableOperation();
if (dm.Where != null)
{
DataSource = operation.PerformFiltering((IQueryable<C30000Records>)DataSource, dm.Where, dm.Where[0].Condition);
if (!dm.RequiresCounts)
{
return Json(DataSource);
}
}
if (dm.Search != null)
{
DataSource = operation.PerformSearching((IQueryable<C30000Records>)DataSource, dm.Search);
}
int count = DataSource.Cast<C30000Records>().Count();
if (dm.Sorted != null)
{
DataSource = operation.PerformSorting((IQueryable<C30000Records>)DataSource, dm.Sorted);
}
if (dm.Skip != 0)
{
DataSource = operation.PerformSkip((IQueryable<C30000Records>)DataSource, dm.Skip); //Paging
}
if (dm.Take != 0)
{
DataSource = operation.PerformTake((IQueryable<C30000Records>)DataSource, dm.Take);
}
var countData = Json(new { result = DataSource, count = count }, JsonRequestBehavior.AllowGet);
var orgData = Json(DataSource, JsonRequestBehavior.AllowGet);
countData.MaxJsonLength = int.MaxValue;
orgData.MaxJsonLength = int.MaxValue;
return dm.RequiresCounts ? countData : orgData;
}
} |