private int GetTotalNumberOfProductPages(ProductSearch productSearch)
        {
            var numberOfProductsOnPage = ApplicationProperties.NumberOfProductsOnPage;

            var totalResults = productSearch.getTotalNumberOfResults();
            if (totalResults > 100)
                totalResults = 100;

            var totalPagesToShow = (totalResults % numberOfProductsOnPage) == 0
                ? totalResults / numberOfProductsOnPage
                : totalResults / numberOfProductsOnPage + 1;

            return totalPagesToShow;
        }
        public JsonResult SearchProducts(string searchTerm, int pageNumber, string currencyCode)
        {
            var currency = ApplicationProperties.DefaultCurrency;
            Enum.TryParse(currencyCode, out currency);

            var productSearch = new ProductSearch(
                searchTerm,
                pageNumber,
                ApplicationProperties.NumberOfProductsOnPage,
                currency
            );
            var productsOnCurrentPage = productSearch.GetProducts();

            return Json(new {
                items = productsOnCurrentPage,
                pageNumber = pageNumber,
                totalPages = GetTotalNumberOfProductPages(productSearch)
            });
        }