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);
        }
Exemple #2
0
            internal static ActionResult AddIgnoreWords(UpdateIgnoreWordsRequest request)
            {
                ActionResult actionResult = new ActionResult();

                try
                {
                    PortalSettings PortalSettings = PortalController.Instance.GetCurrentSettings() as PortalSettings;
                    UserInfo       UserInfo       = UserController.Instance.GetCurrentUserInfo();

                    int pid = request.PortalId ?? PortalSettings.PortalId;
                    if (!UserInfo.IsSuperUser && pid != PortalSettings.PortalId)
                    {
                        actionResult.AddError("HttpStatusCode.Unauthorized", AuthFailureMessage);
                    }

                    string cultureCode = string.IsNullOrEmpty(request.CultureCode)
                        ? LocaleController.Instance.GetCurrentLocale(pid).Code
                        : request.CultureCode;

                    Locale language = LocaleController.Instance.GetLocale(pid, cultureCode);
                    if (language == null)
                    {
                        actionResult.AddError("InvalidLocale.ErrorMessage", Localization.GetString("InvalidLocale.ErrorMessage", Constants.LocalResourcesFile));
                    }
                    //var stopWordsId = SearchHelper.Instance.AddSearchStopWords(request.StopWords, pid, cultureCode);
                    //actionResult.Data = stopWordsId;

                    if (request.StopWordsId > 0)
                    {
                        SearchHelper.Instance.UpdateSearchStopWords(request.StopWordsId, request.StopWords, pid, cultureCode);
                    }
                    else
                    {
                        int stopWordsId = SearchHelper.Instance.AddSearchStopWords(request.StopWords, pid, cultureCode);
                        actionResult.Data = stopWordsId;
                    }
                }
                catch (Exception exc)
                {
                    actionResult.AddError("HttpStatusCode.InternalServerError", exc.Message);
                }
                return(actionResult);
            }