
Untitled
By: a guest on
May 11th, 2012 | syntax:
None | size: 1.86 KB | hits: 12 | expires: Never
[HttpGet]
public ActionResult Students(String searchField, String searchOper, String searchString, String sidx, String sord)
{
using (var ctx = new SurgeContext())
{
List<Student> students = ctx.Get<Student>().ToList().Where(each => each.UserCanView(CurrentUser)).ToList();
var studentModels = students.Select(each => new StudentListItem(each)).ToList();
if (students.Count > 0)
{
if( searchField != null )
{
var field = typeof(StudentListItem).GetProperty(searchField);
switch (searchOper)
{
case "eq":
studentModels = studentModels.Where(each => field.GetValue(each, null) != null && field.GetValue(each, null).ToString() == searchString).ToList();
break;
case "ne":
studentModels = studentModels.Where(each => field.GetValue(each, null) != null && field.GetValue(each, null).ToString() != searchString).ToList();
break;
case "cn":
studentModels = studentModels.Where(each => field.GetValue(each, null) != null && field.GetValue(each, null).ToString().Contains(searchString)).ToList();
break;
}
}
if (sidx != null)
{
var field = typeof(StudentListItem).GetProperty(sidx);
switch (sord)
{
case "asc":
studentModels = studentModels.OrderBy(each => field.GetValue(each, null) != null ? field.GetValue(each, null).ToString() : "").ToList();
break;
case "desc":
studentModels = studentModels.OrderByDescending(each => field.GetValue(each, null) != null ? field.GetValue(each, null).ToString() : "").ToList();
break;
}
}
}
var rows = studentModels.Select(each => new { id = 1, cell = each.ToCell() });
var model = new { total = 1, page = 1, records = rows.Count(), rows };
return ModelOrView(model);
}
}