public IActionResult Index([Bind("UserId,FirstName,LastName,DoB,Income")] User user) { if (!ModelState.IsValid) { return(View("Index", user)); } var cacheKey = _utils.CreateCacheKey(user); var isUserInCache = _memoryCache.TryGetValue(cacheKey, out User cacheUser); if (isUserInCache) { if (_utils.IsUserCacheExpired(cacheUser)) { this.AddUserToDb(user, cacheKey); } else { _logger.LogInformation(_utils.LogUserInCache(user)); TempData["cacheUser"] = cacheKey; } } else { this.AddUserToDb(user, cacheKey); } return(RedirectToAction("Index", "Result")); }
public void CanCreateCacheKey() { var result = _utils.CreateCacheKey(_user); Assert.AreEqual(Stubs.GetCacheKey().ToLower(), result); }