Esempio n. 1
0
        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));
        }