public ListResult <CustomerListModel> GetAll(SearchParameters searchParameters, CustomerSearchModel model) { try { if (searchParameters == null) { throw new NullReferenceException("Search Parameters Cannot be null"); } var items = customerRepository.GetAll().AsQueryable(); // Filter records using method implemented in drive class. items = FilterRecords(items, searchParameters, model); // Get total count of Filtered Records var totalRecords = items.Count(); // Apply Sort Order items = CommonHelper.ApplyCustomerPaging(searchParameters, items); // Return Result var returnObject = new ListResult <CustomerListModel>(); returnObject.TotalRecords = totalRecords; returnObject.ResultData = ConvertToModel(items).ToList();; //add row number int r = searchParameters.PageStart; returnObject.ResultData.ForEach(i => i.SNo = ++r); return(returnObject); } catch (Exception ex) { throw ex; } }