Example #1
0
            internal static ActionResult UpdateBasicSearchSettings(UpdateBasicSearchSettingsRequest request)
            {
                ActionResult actionResult = new ActionResult();

                try
                {
                    if (request.MinWordLength == Null.NullInteger || request.MinWordLength == 0)
                    {
                        actionResult.AddError("valIndexWordMinLengthRequired.Error", Localization.GetString("valIndexWordMinLengthRequired.Error", Constants.LocalResourcesFile));
                    }
                    else if (request.MaxWordLength == Null.NullInteger || request.MaxWordLength == 0)
                    {
                        actionResult.AddError("valIndexWordMaxLengthRequired.Error", Localization.GetString("valIndexWordMaxLengthRequired.Error", Constants.LocalResourcesFile));
                    }
                    else if (request.MinWordLength >= request.MaxWordLength)
                    {
                        actionResult.AddError("valIndexWordMaxLengthRequired.Error", Localization.GetString("valIndexWordMaxLengthRequired.Error", Constants.LocalResourcesFile));
                    }

                    if (actionResult.IsSuccess)
                    {
                        int oldMinLength = HostController.Instance.GetInteger("Search_MinKeyWordLength", 3);
                        if (request.MinWordLength != oldMinLength)
                        {
                            HostController.Instance.Update("Search_MinKeyWordLength", request.MinWordLength.ToString());
                        }

                        int oldMaxLength = HostController.Instance.GetInteger("Search_MaxKeyWordLength", 255);
                        if (request.MaxWordLength != oldMaxLength)
                        {
                            HostController.Instance.Update("Search_MaxKeyWordLength", request.MaxWordLength.ToString());
                        }

                        HostController.Instance.Update("Search_AllowLeadingWildcard", request.AllowLeadingWildcard ? "Y" : "N");
                        HostController.Instance.Update(SearchTitleBoostSetting, (request.TitleBoost == Null.NullInteger) ? DefaultSearchTitleBoost.ToString() : request.TitleBoost.ToString());
                        HostController.Instance.Update(SearchTagBoostSetting, (request.TagBoost == Null.NullInteger) ? DefaultSearchTagBoost.ToString() : request.TagBoost.ToString());
                        HostController.Instance.Update(SearchContentBoostSetting, (request.ContentBoost == Null.NullInteger) ? DefaultSearchContentBoost.ToString() : request.ContentBoost.ToString());
                        HostController.Instance.Update(SearchDescriptionBoostSetting, (request.DescriptionBoost == Null.NullInteger) ? DefaultSearchDescriptionBoost.ToString() : request.DescriptionBoost.ToString());
                        HostController.Instance.Update(SearchAuthorBoostSetting, (request.AuthorBoost == Null.NullInteger) ? DefaultSearchAuthorBoost.ToString() : request.AuthorBoost.ToString());

                        string oldAnalyzer = HostController.Instance.GetString("Search_CustomAnalyzer", string.Empty);
                        string newAnalyzer = request.SearchCustomAnalyzer.Trim();
                        if (!oldAnalyzer.Equals(newAnalyzer))
                        {
                            HostController.Instance.Update("Search_CustomAnalyzer", newAnalyzer);
                            //force the app restart to use new analyzer.
                            Config.Touch();
                        }
                    }
                }
                catch (Exception ex)
                {
                    actionResult.AddError("HttpStatusCode.InternalServerError", ex.Message);
                }
                return(actionResult);
            }
        private ActionResult UpdateSearch(dynamic updatedata)
        {
            ActionResult actionResult = new ActionResult();
            Dictionary <string, dynamic> ReponseData = new Dictionary <string, dynamic>();

            try
            {
                UpdateBasicSearchSettingsRequest BasicSettings     = updatedata["BasicSettings"].ToObject <UpdateBasicSearchSettingsRequest>();
                UpdateIgnoreWordsRequest         IgnoreWord        = updatedata["IgnoreWord"].ToObject <UpdateIgnoreWordsRequest>();
                List <SynonymsGroup>             AllSynonymsGroups = updatedata["AllSynonymsGroups"].ToObject <List <SynonymsGroup> >();
                ActionResult ActionResult_IgnoreWord     = new ActionResult();
                ActionResult ActionResult_BasicSettings  = new ActionResult();
                ActionResult ActionResult_SynonymsGroups = new ActionResult();
                if (UserInfo.IsSuperUser)
                {
                    ActionResult_BasicSettings = UpdateBasicSearchSettings(BasicSettings);
                    if (!ActionResult_BasicSettings.IsSuccess)
                    {
                        return(ActionResult_BasicSettings);
                    }
                    else
                    {
                        ReponseData.Add("ActionResult_BasicSettings", ActionResult_BasicSettings.Data);
                    }
                }

                ActionResult_IgnoreWord = Managers.SearchManager.AddIgnoreWords(IgnoreWord);
                if (!ActionResult_IgnoreWord.IsSuccess)
                {
                    return(ActionResult_IgnoreWord);
                }
                else
                {
                    ReponseData.Add("ActionResult_IgnoreWord", ActionResult_IgnoreWord.Data);
                }

                ActionResult_SynonymsGroups = UpdateSynonymsGroup(AllSynonymsGroups);
                if (!ActionResult_SynonymsGroups.IsSuccess)
                {
                    return(ActionResult_SynonymsGroups);
                }
                else
                {
                    ReponseData.Add("ActionResult_SynonymsGroups", ActionResult_SynonymsGroups.Data);
                }

                actionResult.Data = ReponseData;
            }
            catch (Exception exc)
            {
                actionResult.AddError("HttpStatusCode.InternalServerError", exc.Message);
            }
            return(actionResult);
        }
 public ActionResult UpdateBasicSearchSettings(UpdateBasicSearchSettingsRequest request)
 {
     return(Managers.SearchManager.UpdateBasicSearchSettings(request));
 }