|
public static object UrlDataSource(Syncfusion.JavaScript.DataManager value)
{
IEnumerable data = BindDataSource();
DataOperations ds = new DataOperations();
if (value.Where != null && value.Where.Count > 0) //Filtering
{
data = ds.PerformWhereFilter(data, value.Where, value.Where[0].Operator);
}
if (value.Search != null && value.Search.Count > 0) // Searching
{
data = ds.PerformSearching(data, value.Search);
}
var count = data.AsQueryable().Count();
if (value.Sorted != null && value.Sorted.Count > 0) //Sorting
{
data = ds.PerformSorting(data, value.Sorted);
}
List<string> str = new List<string>();
. . .
IEnumerable aggregates = ds.PerformSelect(data, str);
if (value.Skip > 0)
data = ds.PerformSkip(data, value.Skip);
if (value.Take > 0) //Paging
data = ds.PerformTake(data, value.Take);
return new { result = data, count = count, aggregate = aggregates };
} |