using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using SecondLevelCaching.Data; using SecondLevelCaching.Data.Models; using SecondLevelCachingExample.Models; namespace SecondLevelCachingExample.Controllers { public class HomeController : Controller { private readonly IDbContext dataContext; public HomeController(IDbContext context) { this.dataContext = context; } public ActionResult Index() { var model = GetHomeModel(string.Empty); return View(model); } [HttpPost] public ActionResult Index(string searchTerm) { var model = GetHomeModel(searchTerm); return View("Index", model); } private HomeViewModel GetHomeModel(string searchTerm) { var query = dataContext.Table<Customer>(); if (!string.IsNullOrEmpty(searchTerm)) query = from c in query where c.ContactName.Contains(searchTerm) select c; var customerList = (from c in query orderby c.ContactName select new CustomerModel { Id = c.CustomerID, Name = c.ContactName }) .ToList(); var model = new HomeViewModel(customerList, EntityCache.Instance.CacheHits, EntityCache.Instance.CacheMisses, EntityCache.Instance.CacheItemAdds); return model; } } }
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)