BoldSignEasily embed eSignatures in your .NET applications. Free sandbox with native SDK available.
public class OrdersController : Controller
{
// GET: api/Orders
[HttpGet]
public object Get()
{
var queryString = Request.Query;
var data = OrdersDetails.GetAllRecords().ToList();
string filter = queryString["$filter"];
string auto = queryString["$inlineCount"];
// filtering
if (filter != null)
{
var newfiltersplits = filter;
var filtersplits = newfiltersplits.Split('(', ')', ' ');
var filterfield = filtersplits[1];
var filtervalue = filtersplits[3];
if (filtersplits.Length == 5)
{
if (filtersplits[1] == "tolower")
{
filterfield = filter.Split('(', ')', '\'')[2];
filtervalue = filter.Split('(', ')', '\'')[4];
}
}
if (filtersplits.Length != 5)
{
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).ToList();
break;
}
}
// paging
int skip = Convert.ToInt32(queryString["$skip"]);
int take = Convert.ToInt32(queryString["$top"]);
if (auto == null)
{
return new { Items = data };
}
else
{
return take != 0 ? new { Items = data.Skip(skip).Take(take).ToList(), Count = data.Count() } : new { Items = data, Count = data.Count() };
}
} |