public ActionResult Index(int?page)
        {
            ModelSearch ModelSearch = new ModelSearch();

            ModelSearch.code = Request.Form["code"];
            ModelSearch.name = Request.Form["name"];
            int  Out;
            bool checkparent = int.TryParse(Request.Form["parent"], out Out);

            if (checkparent == true)
            {
                ModelSearch.parent_id = int.Parse(Request.Form["parent"]);
            }
            bool checkchild = int.TryParse(Request.Form["child"], out Out);

            if (checkchild == true)
            {
                ModelSearch.Child_id = int.Parse(Request.Form["child"]);
            }
            ModelSearch.parent_id = 0;
            var pageNumber = page ?? 1;
            List <CategoryViewModel> model = new List <CategoryViewModel>();

            if (ModelSearch.name == null && ModelSearch.code == null && ModelSearch.parent_id == 0)
            {
                model = _categoryBL.GetAll();
            }
            else
            {
                int result = _categoryBL.Search(ModelSearch, out model);
            }
            var List = model.ToPagedList(pageNumber, 13);

            ViewBag.ListSearch = model.OrderByDescending(x => x.id);
            return(View(new Tuple <ModelSearch, IPagedList <CategoryViewModel> >(ModelSearch, List)));
        }