public dataTableResult <DTO.ActivityList> GetIndexView(viewOptions o) { var result = new dataTableResult <DTO.ActivityList>(); IQueryable <Activity> q = dbset.AsNoTracking(); if (o.personID > 0 && o.attendedActivities == false) { IndexViewBase.getUnassociated(o.personID, ref q, db); } if (o.personID > 0 && o.attendedActivities == true) { IndexViewBase.getAssociated(o.personID, ref q, db); } if (!o.authenticated) { if (o.date == null) { o.date = DateTime.Now; } IndexViewBase.unauthenticatedView((DateTime)o.date, ref q); } if (!string.IsNullOrEmpty(o.sSearch)) { IndexViewBase.search(o, ref q); } IndexViewBase.sortOnColName(o.sortColName, o.orderDescending, ref q); result.filteredCount = q.Count(); result.totalCount = TotalCount(); result.query = q.ProjectTo <DTO.ActivityList>(map.ConfigurationProvider) .Skip(o.displayStart) .Take(o.displayLength) .AsEnumerable(); return(result); }