public List<Cog.MLIAD.BusinessLogic.Associate.Category> SearchCategory(Associate.Category search, int pageIndex, int pageSize, ref int? count) { using (AssociateConnDataContext asscon = new AssociateConnDataContext()) { try { //int CategoryID = (search.CategoryID == "")?0: Convert.ToInt32(search.CategoryID); var associates = (from a in asscon.SearchCategory(search.CategoryID, search.CategoryDesc, search.IsActive) select new Cog.MLIAD.BusinessLogic.Associate.Category() { CategoryID = a.CategoryID, CategoryDesc = a.CategoryDesc, IsActive = a.IsActive }).ToList<Cog.MLIAD.BusinessLogic.Associate.Category>(); List<Cog.MLIAD.BusinessLogic.Associate.Category> list = new List<Cog.MLIAD.BusinessLogic.Associate.Category>(); list = associates; pageSize = (pageSize < 1 ? 10 : pageSize); pageIndex = (pageIndex < 0 ? 0 : pageIndex); count = list.Count; if (count < pageSize) { pageIndex = 0; return list; } else if (list.Count < pageSize * pageIndex) { pageIndex = 0; return new List<BusinessLogic.Associate.Category>(list.Take(pageSize)); } else { int a = Convert.ToInt32(((count - pageSize * pageIndex) >= pageSize) ? pageSize : (count - pageSize * pageIndex)); return new List<BusinessLogic.Associate.Category>(list.Skip(pageSize * pageIndex).Take(a)); } } catch (Exception ex) { throw ex; } } }