public ActionResult SearchBipItems(BIPPageViewModel model)
        {
            SetCulture(model.CurrentPageCulture);
            var _model = _bipService.BIPPageViewModel(model);

            return(PartialView("MainPageBipPartial", _model));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Metoda zwracająca klasę zawierającą elementy wyświetlane na stronie głównej BIP
        /// </summary>
        /// <param name="currentUmbracoPageId">id strony umbraco na której się znajdujemy</param>
        /// <returns>Model zawierający elementy strony głównej BIP</returns>
        public BIPPageViewModel BIPPageViewModel(int currentUmbracoPageId)
        {
            var _model = new BIPPageViewModel()
            {
                CurrentUmbracoPageId = currentUmbracoPageId,
                CurrentPageCulture   = Thread.CurrentThread.CurrentCulture
            };

            return(BIPPageViewModel(_model));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Metoda zwracająca klasę zawierającą elementy wyświetlane na stronie głównej BIP
        /// </summary>
        /// <param name="model">model BIPPageViewModel</param>
        /// <returns>Model zawierający elementy strony głównej BIP</returns>
        public BIPPageViewModel BIPPageViewModel(BIPPageViewModel model)
        {
            var _currentPage = _umbracoHelper.TypedContent(model.CurrentUmbracoPageId);
            var _bipPage     = new BIP(_currentPage);

            if (!string.IsNullOrEmpty(model.SearchText))
            {
                var _searcher             = ExamineManager.Instance.SearchProviderCollection["BipContentSearchSearcher"];
                var _searchCriteria       = _searcher.CreateSearchCriteria(Examine.SearchCriteria.BooleanOperation.Or);
                var q_split               = model.SearchText.Split(' ');
                var _fieldsToSearch       = new[] { "pageTitle", "articleTitle", "articleText", "pageMainTitle", "pageMainDescription", "nodeName" };
                IBooleanOperation _filter = _searchCriteria.GroupedOr(_fieldsToSearch, q_split.First());
                foreach (var term in q_split.Skip(1))
                {
                    _filter = _filter.Or().GroupedOr(_fieldsToSearch, term);
                }
                var _searchResults        = _searcher.Search(_filter.Compile()).OrderByDescending(x => x.Score);
                var _resultBipFormIds     = _searchResults.Where(q => q.Fields["nodeTypeAlias"] == DocumentTypeEnum.bIPForm.ToString()).Select(q => q.Id);
                var _resultBipArticlesIds = _searchResults.Where(q => q.Fields["nodeTypeAlias"] == DocumentTypeEnum.articleBip.ToString()).Select(q => q.Id);

                model.ItemList.AddRange(_bipPage.Descendants(DocumentTypeEnum.bIPForm.ToString()).Where(q => _resultBipFormIds.Contains(q.Id)).Select(q => new BIpform(q)).Select(q => new BipListItemModel()
                {
                    CreateDate = q.CreateDate, Url = q.Url, Description = removeHtmlTag(q.PageMainDescription.ToString()), Title = q.PageMainTitle
                }));
                model.ItemList.AddRange(_bipPage.Descendants(DocumentTypeEnum.articleBip.ToString()).Where(q => _resultBipArticlesIds.Contains(q.Id)).Select(q => new ArticleBip(q)).Select(q => new BipListItemModel()
                {
                    CreateDate = q.CreateDate, Url = q.Url, Description = removeHtmlTag(q.ArticleText.ToString()), Title = q.ArticleTitle
                }));
            }
            else
            {
                var _bipForms    = _bipPage.Descendants(DocumentTypeEnum.bIPForm.ToString()).Select(q => new BIpform(q));
                var _bipArticles = _bipPage.Descendants(DocumentTypeEnum.articleBip.ToString()).Select(q => new ArticleBip(q));

                model.ItemList.AddRange(_bipForms.Select(q => new BipListItemModel()
                {
                    CreateDate = q.CreateDate, Url = q.Url, Description = removeHtmlTag(q.PageMainDescription.ToString()), Title = q.PageMainTitle
                }));
                model.ItemList.AddRange(_bipArticles.Select(q => new BipListItemModel()
                {
                    CreateDate = q.CreateDate, Url = q.Url, Description = removeHtmlTag(q.ArticleText.ToString()), Title = q.ArticleTitle
                }));
            }

            return(model);
        }