public IActionResult SearchWith(string keyword) { var resultsList = new List <SearchResult>(); if (keyword is null || keyword == "") { return(Json(resultsList)); } var blogResults = searchService.BlogsWithKeyword(keyword).Take(3); foreach (var blg in blogResults) { var owner = blogService.Owner(blg.Id); var newResult = new BlogSearchResult(keyword, blg, owner); resultsList.Add(newResult); } var userResults = searchService.UsersWithKeyword(keyword).Take(3); foreach (var usr in userResults) { var blogs = userBlogService.GetBlogsForUser(usr.Id); resultsList.Add(new UserSearchResult(keyword, new UserNoPass(usr), blogs)); } var sectionResults = searchService.SectionsWithKeyword(keyword).Take(3); foreach (var sect in sectionResults) { var blogs = sectionsService.BlogsUsingSectId(sect.Id); resultsList.Add(new SectionSearchResult(keyword, sect, blogs)); } return(Json(resultsList)); }