public ActionResult Products(int?page, int?categoryId)
        {
            // Declare a list of ProductVM
            // List<ProductViewModel> listOfProductVM;
            List <Product>   listOfProduct;
            ProductViewModel fetchedData = null;


            var     config        = new MapperConfiguration(cfg => { cfg.CreateMap <ProductViewModel, Product>(); });
            IMapper mapper        = config.CreateMapper();
            Product sensitiveData = mapper.Map <ProductViewModel, Product>(fetchedData);


            // Set page number
            var pageNumber = page ?? 1;


            // Init the list
            listOfProduct = shopBL.ListOfProduct(sensitiveData, categoryId);

            // Populate categories select list
            ViewBag.Categories = (shopBL.SelectListItem(), "Id", "Name");

            // Set selected category
            ViewBag.SelectedCategory = categoryId.ToString();

            // Set pagination
            var onePageOfProducts = listOfProduct.ToPagedList(pageNumber, 3);

            ViewBag.OnePageOfProducts = onePageOfProducts;

            // Return view with list
            return(View(listOfProduct));
        }