public listView <Entity> TimesheetList(string version, ICollection <abstractSearch> filter, QueryDisplayParams query) { DisableCaching(); var result = new listView <Entity>(); try { var viewId = filter.filterTextValue("viewId").ToGuid(); var dateFrom = filter.filterDateTimeValue("from"); var dateTo = filter.filterDateTimeValue("to"); var period = new Tuple <DateTime, DateTime>(dateFrom, dateTo); result.page = new pager <Entity>(); var service = new RosterDataService(); var content = service.ViewTimesheetEvents(viewId, null, period).ToList(); result.total = content.Count(); content.Take(query.currentPageSize).Skip(query.currentPageNum * query.currentPageSize).ToList().ForEach(item => { result.page.pageItems.Add(new Entity { Key = item.Id.ToSafeString(), Fields = item.RosterEventProperties.ExpandoToNamed() }); }); } catch (Exception ex) { result.message.message = ex.Message; result.message.messageLevel = messageLevelEnum.critical; //HandleException(ex); } return(result); }