Example #1
0
 public ActionResult AdvanceSearch(string SearchText, bool allContent, bool contains, int[] SubCategory, string KeyWords)
 {
     SearchText = SearchText.Trim(new char[] { '\"', '.' });
     SearchText = "\"" + SearchText + "\"";
     List<TopicList> Topics = new List<TopicList>();
     List<QuestionList> Questions = new List<QuestionList>();
     if (SubCategory != null)
     {
         Topics = (from Item in db.TopicSearch(contains, SearchText, 0)
                   join C in SubCategory on Item.CatID equals C
                   select Item).ToList();
         if (allContent)
             Questions = (from Item in db.QuestionSearch(contains, SearchText, 0)
                          join C in SubCategory on Item.CatID equals C
                          select Item).ToList();
     }
     else
     {
         Topics = db.TopicSearch(contains, SearchText, 0).ToList();
         if (allContent)
             Questions = db.QuestionSearch(contains, SearchText, 0).ToList();
     }
     if (!string.IsNullOrEmpty(KeyWords))
     {
         var TopicsID = db.Topics.SqlQuery("select * from Topics where [status]=0 and ID in(select topicID from KeywordOfPosts where keyWordID in (" + KeyWords + "))").Select(x => new { ID = x.ID }).ToList();
         Topics = (from item in Topics
                   join T in TopicsID on item.ID equals T.ID
                   select item).ToList();
         if (allContent)
         {
             var QuestionID = db.Questions.SqlQuery("select * from Questions where [status]=0 and ID in(select questionID from KeywordOfPosts where keyWordID in (" + KeyWords + "))").Select(x => new { ID = x.ID }).ToList();
             Questions = (from item in Questions
                          join T in QuestionID on item.ID equals T.ID
                          select item).ToList();
         }
     }
     TextWriter tw = TextWriter.Null;
     HtmlHelper htmlHelper = new HtmlHelper(new ViewContext(
         ControllerContext,
                     new RazorView(ControllerContext, "Home", "searchAdvance", false, null),
                     new ViewDataDictionary(),
                     new TempDataDictionary(), tw), new ViewPage());
     var QuestionView = htmlHelper.QuestionList(Questions, "نتیجه جستجو در سوالات").ToHtmlString();
     var TopicsView = htmlHelper.TopicList(Topics, "نتیجه جستجو در مقالات").ToHtmlString();
     return Json(TopicsView + QuestionView, JsonRequestBehavior.AllowGet);
 }