Пример #1
0
    protected void Page_Load(object sender, System.EventArgs e)
    {
        // initialize necessary variables
        _messageHelper = _siteApi.EkMsgRef;
        _appImgPath = _siteApi.AppImgPath;
        _pageAction = Request.QueryString["action"].ToLower();

        // register CSS
        Css.RegisterCss(this, Css.ManagedStyleSheet.EktronWorkareaCss);
        Css.RegisterCss(this, Css.ManagedStyleSheet.EktronWorkareaIeCss, Css.BrowserTarget.AllIE);

        // populate any text variables as needed
        lblCMSContent.Text = _messageHelper.GetMessage("generic cms Content");

        // Get the term info if needed
        ISuggestedResults suggestedResults = ObjectFactory.GetSuggestedResults();
        SuggestedResultSet suggestedResultSet = null;

        if (!string.IsNullOrEmpty(Request.QueryString["termID"]) && Guid.TryParse(Request.QueryString["termID"], out setId))
        {
            suggestedResultSet = suggestedResults.GetItem(setId);
            ViewToolBar(suggestedResultSet.Name);
        }
        else
        {
            suggestedResultSet = new SuggestedResultSet();
            ViewToolBar(string.Empty);
        }

        RenderAddEditViewToolBar();

        // figure out what mode we're in
        _pageMode = Request.Form["addsuggestedresult$submitMode"];
        if (Page.IsPostBack && _pageMode == "0" &&
           (_pageAction == "addsuggestedresult" || _pageAction == "editsuggestedresult"))
        {
            // if we've made it this far, add the NEW suggested results
            SaveSuggestedResult();

        }
        else if (!Page.IsPostBack && _pageAction == "editsuggestedresult")
        {
            // if we're editing an existing set of Suggested Results,
            // let's get them and output them to the array

            if (!string.IsNullOrEmpty(suggestedResultSet.Name))
            {
                hdnOriginalPhrase.Value = suggestedResultSet.Id.ToString();
                txtPhrase.Text = suggestedResultSet.Name;

                if (suggestedResultSet.Phrases != null)
                {
                    foreach (string synonym in suggestedResultSet.Phrases)
                    {
                        if (!string.IsNullOrEmpty(txtSynonyms.Text))
                        {
                            txtSynonyms.Text += ";";
                        }

                        txtSynonyms.Text += synonym;
                    }
                }

                StringBuilder jsBuilder = new StringBuilder();
                if (suggestedResultSet.SuggestedResults != null)
                {
                    int suggestedResultIndex = 1;
                    foreach (SuggestedResult suggestedResult in suggestedResultSet.SuggestedResults)
                    {
                        jsBuilder.Append("var existingSuggestedResultObject = new suggestedResultObject(");
                        jsBuilder.Append("\'" + suggestedResult.Title.Replace("\'", "\\\'") + "\',");
                        jsBuilder.Append("\'" + suggestedResult.Title.Replace("\'", "\\\'") + "\',");
                        jsBuilder.Append("\'" + suggestedResult.Url.Replace("\'", "\\\'") + "\',");
                        jsBuilder.Append("\'" + suggestedResult.Description.Replace("\'", "\\\'").Replace("\r", " ").Replace("\n", " ") + "\',");
                        jsBuilder.Append(0 + ",");
                        jsBuilder.Append(suggestedResultIndex.ToString());
                        jsBuilder.Append(");" + "\r\n");
                        jsBuilder.Append("arrSuggestedResults.push(existingSuggestedResultObject);" + "\r\n" + "\r\n");

                        suggestedResultIndex++;
                    }
                }

                javaScriptSRObjects.Text = jsBuilder.ToString();
            }
            else
            {
                // Redirect back to main screen? Should never get here.
            }
        }

        HtmlEditor1.AllowFonts = true;
    }
Пример #2
0
    private void ViewToolBar(SuggestedResultSet suggestedResultSet)
    {
        System.Text.StringBuilder result = new System.Text.StringBuilder();
        txtTitleBar.InnerHtml = _styleHelper.GetTitleBar(string.Format(_messageHelper.GetMessage("msg edit-delete suggested results"), "\"" + suggestedResultSet.Name + "\""));

        result.Append("<table><tr>");

        result.Append(
           _styleHelper.GetButtonEventsWCaption(
               _appImgPath + "../UI/Icons/back.png",
               "javascript:history.back(1);",
               _messageHelper.GetMessage("alt back button text"),
               _messageHelper.GetMessage("btn back"),
               string.Empty,
               StyleHelper.BackButtonCssClass,
               true));

        result.Append(
            _styleHelper.GetButtonEventsWCaption(
                _appImgPath + "../UI/Icons/contentEdit.png",
                "suggestedresults.aspx?action=EditSuggestedResult&termID=" + suggestedResultSet.Id.ToString(),
                _messageHelper.GetMessage("msg edit suggested result"),
                _messageHelper.GetMessage("generic edit title"),
                string.Empty,
                StyleHelper.EditButtonCssClass,
                true));

        result.Append(
            _styleHelper.GetButtonEventsWCaption(
                _appImgPath + "../UI/Icons/delete.png",
                "suggestedresults.aspx?action=DeleteSuggestedResult&termID=" + suggestedResultSet.Id.ToString(),
                _messageHelper.GetMessage("alt delete suggested results button text"),
                _messageHelper.GetMessage("generic delete title"),
                "OnClick=\"javascript:return VerifyDeleteSuggestedResultSet();\"",
                StyleHelper.DeleteButtonCssClass));
        result.Append(StyleHelper.ActionBarDivider);
        result.Append("<td>");
        result.Append(_styleHelper.GetHelpButton("editsuggestedresults", string.Empty));
        result.Append("</td>");
        result.Append("</tr></table>");

        // output the result string to the htmToolBar
        htmToolBar.InnerHtml = result.ToString();
    }
Пример #3
0
    private void SaveSuggestedResult()
    {
        SuggestedResultSet suggestedResultSet = new SuggestedResultSet();

        // Set suggested result set title.

        suggestedResultSet.Name = Request.Form["addsuggestedresult$txtPhrase"];

        // Apply suggested result set synonyms.

        if (!string.IsNullOrEmpty(Request.Form["addsuggestedresult$txtSynonyms"]))
        {
            string[] synonyms = Request.Form["addsuggestedresult$txtSynonyms"].Split(
                new string[] { ";" },
                StringSplitOptions.RemoveEmptyEntries);

            foreach (string synonym in synonyms)
            {
                suggestedResultSet.Phrases.Add(synonym.Trim().ToLowerInvariant());
            }
        }

        // Apply "best bet" items to the suggested result set.

        int suggestedResultCount;
        if (int.TryParse(Request.Form["numSuggestedResults"], out suggestedResultCount) && suggestedResultCount > 0)
        {
            for (int i = 0; i < suggestedResultCount; i++)
            {
                SuggestedResult suggestedResult = new SuggestedResult();
                suggestedResult.Title = Request.Form["suggestedResult_Title_" + i.ToString()];
                suggestedResult.Description = Request.Form["suggestedResult_Summary_" + i.ToString()];
                suggestedResult.Url = Request.Form["suggestedResult_Link_" + i.ToString()];

                suggestedResultSet.SuggestedResults.Add(suggestedResult);
            }
        }

        try
        {
            ISuggestedResults suggestedResults = ObjectFactory.GetSuggestedResults();
            if (_pageAction == "addsuggestedresult")
            {
                suggestedResults.Add(suggestedResultSet);
            }
            else if (_pageAction == "editsuggestedresult")
            {
                suggestedResultSet.Id = setId;
                suggestedResults.Update(suggestedResultSet);
            }

            Response.Redirect("suggestedresults.aspx?action=ViewSuggestedResults", false);
        }
        catch (Exception ex)
        {
            Utilities.ShowError(ex.Message);
        }
    }