public string GetModelData(ModuleInstanceView parent, string settingsData, IDictionary<string,string> parameters, bool isConfigView)
        {
            SearchView viewSettings = null;
            _searchSettings = parent.ProcessRequest<ReadEventSearchSettingsResponse>(new ReadEventSearchSettingsRequest());

            if (string.IsNullOrEmpty(settingsData))
                viewSettings = new SearchView();
            else
                viewSettings = CommonUtils.JsonDeserialize<SearchView>(settingsData);

            viewSettings.EnsureStandardSettings();

            if (isConfigView)
                viewSettings = BuildAdminSettingsView(parent, viewSettings);
            else
            {
                if (parameters.ContainsKey("Command"))
                {
                    if (parameters["Command"] == "LoadDropdown")
                        return LoadDropdownValues(parent, viewSettings, parameters);
                }
                viewSettings = BuildPublicSettingsView(parent, viewSettings, parameters);
                viewSettings.AvailableFields.Clear();
            }

            return CommonUtils.JsonSerializeMinimum(viewSettings);
        }
Exemple #2
0
        public string BuildListViewTitleFromFormula(ListView viewSettings, ReadEventSearchSettingsResponse searchSettings)
        {
            string formula = string.Empty;
            if (Parameters.ContainsKey("EventText"))
                formula = searchSettings.SearchResultsEventNamePageTitle;
            else if (Parameters.ContainsKey("Keyword"))
                formula = searchSettings.SearchResultsKeywordPageTitle;
            else if (Parameters.ContainsKey("EventTopicText"))
                formula = searchSettings.SearchResultsTopicPageTitle;
            else if (Parameters.ContainsKey("EventTypeText"))
                formula = searchSettings.SearchResultsTypePageTitle;
            else if (Parameters.ContainsKey("PostalCode"))
                formula = searchSettings.SearchResultsZipCodePageTitle;
            else
                formula = searchSettings.SearchResultsBasePageTitle;

            var title = formula
                .Replace("{" + EventSearchResultsToken.EventNameSearched.ToString() + "}", Parameters.ContainsKey("EventText") ? Parameters["EventText"] : string.Empty)
                .Replace("{" + EventSearchResultsToken.KeywordSearched.ToString() + "}", Parameters.ContainsKey("Keyword") ? Parameters["Keyword"] : string.Empty)
                .Replace("{" + EventSearchResultsToken.TopicSearched.ToString() + "}", Parameters.ContainsKey("EventTopicText") ? Parameters["EventTopicText"] : string.Empty)
                .Replace("{" + EventSearchResultsToken.TypeSearched.ToString() + "}", Parameters.ContainsKey("EventTypeText") ? Parameters["EventTypeText"] : string.Empty)
                .Replace("{" + EventSearchResultsToken.ZipCodeSearched.ToString() + "}", Parameters.ContainsKey("PostalCode") ? Parameters["PostalCode"] : string.Empty)
                .Replace("{" + EventSearchResultsToken.PageNum.ToString() + "}", (viewSettings.PageNumber == 0 ? 1 : viewSettings.PageNumber).ToString(CultureInfo.InvariantCulture));

            return ApplyCommonTitleFormatting(title, searchSettings.SeoTitleReplacementValues);
        }
        public string GetModel(ConvertServiceRequest request)
        {
            _locationContext = ResolveLocationContext(request);

            if (!string.IsNullOrEmpty(request.Data))
                _viewModel = CommonUtils.JsonDeserialize<AdminSettingsViewModel>(request.Data);
            else
                CreateInitialViewModel();

            // Handle special commands
            var command = request.Parameters.ContainsKey("Command") ? request.Parameters["Command"] : null;

            if (command == "InheritSettings")
            {
                InheritSettings(_locationContext.Id, "Events");
                _viewModel.SetSuccessMessage("Settings Successfully Inherited");
            }
            else if (command == "RefreshSiteSearchIndex")
            {
                ProcessOneWayRequest(new UpdateAllEventsG2RecordRequest());
                _viewModel.SetSuccessMessage("The Site Search index is being updated in the background. Changes should become visible within a few minutes.");
                return CommonUtils.JsonSerialize(_viewModel);
            }

            // Load latest settings
            _searchSettings = ProcessRequest<ReadEventSearchSettingsResponse>(new ReadEventSearchSettingsRequest() { OrgUnitContextId = _locationContext.Id });

            // Handle settings save request
            if (!string.IsNullOrEmpty(request.Data) && string.IsNullOrEmpty(command))
            {
                Save();
                _viewModel.SetSuccessMessage("Settings Successfully Saved");
            }

            LoadPage(request);

            return CommonUtils.JsonSerialize(_viewModel);
        }