public string GetList(int?pageLimit, int?pageNum) { int pageItemsCount = Convert.ToInt32(pageLimit); if (0 == pageItemsCount) { pageItemsCount = 20; } int pageNumber = Convert.ToInt32(pageNum); if (0 == pageNumber) { pageNumber = 1; } var allProducts = productDAL.GetList(); int count = allProducts.Count(); var products = allProducts.Skip((pageNumber - 1) * pageItemsCount).Take(pageItemsCount); var proWithCount = new { Count = count, Products = products }; var proJsonData = JsonConvert.SerializeObject(proWithCount, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); return(proJsonData); }