public ActionResult Search(string query)
        {
            PagedResult<Product> products = this._queryDispatcher.Dispatch<PagedResult<Product>, SearchQuery>(new SearchQuery(query));

            ProductListViewModel viewModel = new ProductListViewModel(products);
            viewModel.Pagination = new PaginationViewModel(products.PageNumber, products.TotalResults, products.ItemsPerPage, Routes.Products.ListPaged);

            return View("BuyList", viewModel);
        }
        public ActionResult List(Member member, int page = 1)
        {
            PagedResult<Product> products = this._queryDispatcher.Dispatch<PagedResult<Product>, GetProductsQuery>(new GetProductsQuery(page, 36));

            ProductListViewModel viewModel = new ProductListViewModel(products);
            viewModel.Pagination = new PaginationViewModel(products.PageNumber, products.TotalResults, products.ItemsPerPage, Routes.Products.ListPaged);

            return View("BuyList", viewModel);
        }