From 5eea4787f1bdc384451c18d5a693e65a4ed38601 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 7 Apr 2017 10:47:11 -0400 Subject: add search system (downloads and topics) --- Project-Unite/Controllers/HomeController.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'Project-Unite/Controllers') diff --git a/Project-Unite/Controllers/HomeController.cs b/Project-Unite/Controllers/HomeController.cs index 1c648e9..85570a8 100644 --- a/Project-Unite/Controllers/HomeController.cs +++ b/Project-Unite/Controllers/HomeController.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Net; using System.Web; using System.Web.Mvc; +using Project_Unite.Models; namespace Project_Unite.Controllers { @@ -33,5 +34,24 @@ namespace Project_Unite.Controllers { return View(); } + + [HttpPost] + public ActionResult Search(string query) + { + var result = new SearchResult(); + query = query.ToLower(); + using(var db = new ApplicationDbContext()) + { + result.Downloads = db.Downloads.Where(x => x.Name.ToLower().Contains(query) || x.Changelog.ToLower().Contains(query)); + result.ForumPosts = db.ForumPosts.Where(x => x.Body.ToLower().Contains(query)); + result.ForumTopics = db.ForumTopics.Where(x => x.Subject.ToLower().Contains(query)); + result.Skins = db.Skins.Where(x => x.Name.ToLower().Contains(query) || x.ShortDescription.ToLower().Contains(query) || x.FullDescription.ToLower().Contains(query)); + result.Users = db.Users.Where(x => x.DisplayName.ToLower().Contains(query)||x.Bio.ToLower().Contains(query)||x.Interests.ToLower().Contains(query)||x.Hobbies.ToLower().Contains(query)); + result.WikiPages = db.WikiPages.Where(x => x.Name.ToLower().Contains(query) || x.Contents.ToLower().Contains(query)); + } + + //Holy crap that search was... long. + return View(result); + } } } \ No newline at end of file -- cgit v1.2.3