public ActionResult _Index1(ProductCatSearch areaSearch, int?page)
        {
            int TotalCount  = 0;
            var pageSize    = 10;
            var pageNumber  = page ?? 1;
            int CurrentPage = pageNumber;
            var endPage     = CurrentPage + 4;
            int PagesToShow = 10;

            ViewBag.PageSize = pageSize;
            var AreaModelList = Services.ProductCat1Service.GetSearchData(areaSearch, page, out TotalCount);

            ViewBag.TotalCount = TotalCount;

            var result     = Helper.CommonFunction.GetPages(TotalCount, pageSize, CurrentPage, PagesToShow);
            int totalPages = (TotalCount / pageSize) + (TotalCount % pageSize == 0 ? 0 : 1);

            ViewBag.result      = result;
            ViewBag.totalPages  = totalPages;
            ViewBag.CurrentPage = CurrentPage;
            var pageCount = result.Count();

            ViewBag.pageCount = pageCount;
            ViewBag.endPage   = endPage;
            return(View(AreaModelList));
        }
        public ServiceResult <List <ProductCat1> > GetSearchData(ProductCatSearch areaSearch)
        {
            var pageSize = 10;

            ServiceResult <List <ProductCat1> > model = new ServiceResult <List <ProductCat1> >();
            var source = db.ProductCat1.Where(x => x.IsActive == true);

            if (areaSearch.Catename != null)
            {
                if (!string.IsNullOrEmpty(areaSearch.Catename))
                {
                    source = source.Where(m => m.CateName.Contains(areaSearch.Catename.ToLower()));
                }
                //  var items = source.OrderBy(m => m.Id).Skip((areaSearch.Page ?? 1 - 1) * pageSize).Take(pageSize).ToList();
            }
            int count = source.Count();
            var items = source.OrderByDescending(m => m.Id).Skip(((areaSearch.Page ?? 1) - 1) * pageSize)
                        .Take(pageSize).ToList();

            model.data = items.Select(x => new ProductCat1
            {
                Id       = x.Id,
                Code     = x.Code,
                CateName = x.CateName,
                IsActive = x.IsActive,
            }).ToList();
            model.TotalCount = count;
            return(model);
        }
        public List <ProductCat2Model> GetSearchData(ProductCatSearch areaSearch, int?page, out int TotalCount)
        {
            int pageNumber = (page ?? 1);
            var body       = JsonConvert.SerializeObject(areaSearch);
            var result     = ServerResponse.Invoke <ServiceResult <List <ProductCat2Model> > >("api/ProductCat2/getSearchData", body, "Post");

            TotalCount = result.TotalCount;

            if (result.data != null)
            {
                var model = result.data.ToList();
                return(model);
            }
            else
            {
            }
            return(result.data.ToList());
        }