Update SearchController.cs

This commit is contained in:
MarcEricMartel 2022-10-25 10:27:11 -07:00
parent 6ae69e2947
commit 1312cc3903

View File

@ -22,7 +22,7 @@ public class SearchController : Controller {
_logger = logger; _logger = logger;
_context = context; _context = context;
_cache = cache; _cache = cache;
if (_cache.isOk()) if (_cache.isOk()) // Se fait une copie de la cache si elle est fonctionnelle.
_searchCache = _cache.GetCacheCopy(); _searchCache = _cache.GetCacheCopy();
} }
@ -61,10 +61,10 @@ public class SearchController : Controller {
products.AddRange(cat); products.AddRange(cat);
} else { } else {
products = _context.Products.Where(x => x.Title.Contains(query)).ToList(); products = _context.Products.Where(x => x.Title.Contains(query)).ToList();
foreach (Product prod in _context.Products.Where(x => x.Description.Contains(query)).ToList()) foreach (Product prod in _context.Products.Where(x => x.Description.Contains(query)).ToArray())
if (!products.Contains(prod)) if (!products.Contains(prod))
products.Add(prod); products.Add(prod);
foreach (Product prod in _context.Products.Where(x => x.Category.Contains(query)).ToList()) foreach (Product prod in _context.Products.Where(x => x.Category.Contains(query)).ToArray())
if (!products.Contains(prod)) if (!products.Contains(prod))
products.Add(prod); products.Add(prod);
} }
@ -80,7 +80,7 @@ public class SearchController : Controller {
query = query.Trim(); query = query.Trim();
if (_searchCache is null) { if (_searchCache is null) {
_logger.LogError(8, "Erreur de cache."); _logger.LogError(8, "Erreur de cache.");
return Search(query, preview, deep); // Fallback vers version non-cached. return Search(query, preview, deep); // Fallback vers version non-cached en cas d'erreur.
} }
try { // Pour faire une liste priorisée. try { // Pour faire une liste priorisée.
if (preview.HasValue && preview == true) if (preview.HasValue && preview == true)
@ -117,7 +117,7 @@ public class SearchController : Controller {
} }
} catch (Exception e) { } catch (Exception e) {
_logger.LogError(8, e.Message); _logger.LogError(8, e.Message);
return Search(query, preview, deep); // Fallback vers version non-cached. return Search(query, preview, deep); // Fallback vers version non-cached en cas d'erreur.
} }
return products; return products;
} }