public List <ZoneViewModel> FindAll(string sortColumn, string sortColumnDir, int skip, int pageSize, ref int totalRecords, string search) { var zones = (from zone in zoneRepository.Querable() where ( zone.NameAr.Contains(search) ) select zone); totalRecords = zones.Count(); if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir))) { if (sortColumnDir == "asc") { zones = zones.OrderBy(sortColumn); } else { zones = zones.OrderByDescending(sortColumn); } } return(zones.Skip(skip).Take(pageSize).ToList().Select(zone => Mapper.Map <Zone, ZoneViewModel>(zone)).ToList()); }