private CatalogModel FilterCatalog(ProductFilter filter)
        {
            // Should resolve IRepository from IoC Container
            IRepository repository = new EntityFrameworkRepository(new CatalogDataContext("name=CatalogDataContext"));

            // Create specification
            var specification = new ProductFilterSpecification(filter.PriceFrom, filter.PriceTo);

            // Get products
            var products = repository.Query(specification);

            return new CatalogModel { Filter = filter, Products = products };
        }
 public ActionResult Index(ProductFilter filter)
 {
     return View(FilterCatalog(filter ?? new ProductFilter()));
 }