<SfAutoComplete TValue="string" TItem="Orders" Placeholder="Select a Employee" AllowFiltering="true">
<SfDataManager Url="api/Default" Adaptor="Adaptors.WebApiAdaptor" CrossDomain="true">
</SfDataManager>
<AutoCompleteFieldSettings Value="CustomerID" Text="CustomerID" />
</SfAutoComplete> |
[HttpGet]
public async Task<object> Get(int? code)
{
if (order.Count == 0)
{
BindDataSource();
}
var data = order.AsQueryable();
var queryString = Request.Query;
string filter = queryString["$filter"];
string auto = queryString["$inlineCount"];
if (filter != null) // to handle filter opertaion
{
var newfiltersplits = filter;
var filtersplits = newfiltersplits.Split('(' , ')', ' ', '\'');
var filterfield = filtersplits[4];
var filtervalue = filtersplits[2];
if (filtersplits.Length == 7)
{
if (filtersplits[2] == "tolower")
{
filterfield = filter.Split('(', ')', '\'')[3];
filtervalue = filter.Split('(', ')', '\'')[5];
}
}
switch (filterfield)
{
case "CustomerID":
data = (from cust in data
where cust.CustomerID.ToLower().StartsWith(filtervalue.ToString())
select cust);
break;
}
}
if (queryString.Keys.Contains("$inlinecount"))
{
StringValues Skip;
StringValues Take;
int skip = (queryString.TryGetValue("$skip", out Skip)) ? Convert.ToInt32(Skip[0]) : 0;
int top = (queryString.TryGetValue("$top", out Take)) ? Convert.ToInt32(Take[0]) : data.Count();
var count = data.Count();
return new { Items = data.Skip(skip).Take(top), Count = count };
}
else
{
return data;
}
} |