/// <summary>
    /// Save the translation of the term
    /// </summary>
    private void BtnSave()
    {
        TermTranslation tt;

        using (tt = TermTranslation.GetByKey(termId, languageCode))
        {
            if (tt == null)
            {
                #region new translation
                tt = new TermTranslation(termId, txtTermValue.Text.Trim(), languageCode, false, SessionState.User.Id, DateTime.UtcNow);
                #endregion
            }
            else
            {
                #region Update translation
                tt.UserId = SessionState.User.Id;
                tt.Value  = txtTermValue.Text.Trim();
                #endregion
            }
            int r = tt.Save();
            #region Save result
            if (r > 0)
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "reloadParent", "<script>ReloadParent();top.close();</script>");
            }
            else
            {
                lbMessage.Text     = TermTranslation.LastError;
                lbMessage.CssClass = "hc_error";
                lbMessage.Visible  = true;
            }
            #endregion
        }
    }
Example #2
0
        /// <summary>
        /// Display the selected term properties
        /// </summary>
        /// <param name="selTermId">TermId</param>
        void UpdateDataEdit(string selTermId)
        {
            Session["PageIndexTerm"] = dg.DisplayLayout.Pager.CurrentPageIndex;
            Session["TermType"]      = DDL_TermTypeList.SelectedValue;
            Session["FilterTerm"]    = txtFilter.Text;
            panelGrid.Visible        = false;
            webTab.EnableViewState   = false;
            webTab.Tabs.GetTab(0).ContentPane.TargetUrl = "./Termbase/Term_Properties.aspx?t=" + selTermId;

            if (selTermId == "-1")
            {
                #region New Term
                webTab.Tabs.GetTab(1).ContentPane.TargetUrl = "";
                webTab.Tabs[1].Visible = false;
                webTab.Tabs.GetTab(2).ContentPane.TargetUrl = "";
                webTab.Tabs[2].Visible = false;
                lbTitle.Text           = "Term: New";
                #endregion
            }
            else
            {
                #region Term selected
                using (Term HCTerm = Term.GetByKey(Convert.ToInt32(selTermId)))
                {
                    string termValue = HCTerm.Value.ToString();
                    if (termValue.Length > 50)
                    {
                        termValue = termValue.Substring(0, 50) + "...";
                    }
                    lbTitle.Text = "Term: " + termValue;
                    webTab.Tabs.GetTab(1).ContentPane.TargetUrl = "./Termbase/Term_Translations.aspx?t=" + selTermId;
                    webTab.Tabs.GetTab(2).ContentPane.TargetUrl = "./Termbase/Term_Containers.aspx?t=" + selTermId;
                    HyperComponents.Data.dbAccess.Database dbObj = new HyperComponents.Data.dbAccess.Database(SessionState.CacheComponents["Crystal_DB"].ConnectionString);
                    #region Translations Count
                    TermTranslationList tlist;
                    int TranslationsCount;
                    using (tlist = TermTranslation.GetAll(Convert.ToInt32(selTermId), "TermTypeCode='" + HCTerm.TermTypeCode + "'"))
                    {
                        TranslationsCount = tlist.Count - HCTerm.TranslationsMissingCount;
                    }
                    #endregion
                    webTab.Tabs.GetTab(1).Text = "Translations (" + TranslationsCount.ToString() + "/" + tlist.Count.ToString() + ")";
                    #region Containers Count
                    webTab.Tabs.GetTab(2).Visible = false;
                    using (ContainerList clist = HyperCatalog.Business.Container.GetAll("LabelId=" + selTermId))
                    {
                        if (clist.Count > 0)
                        {
                            webTab.Tabs.GetTab(2).Text    = "Containers (" + clist.Count + ")";
                            webTab.Tabs.GetTab(2).Visible = true;
                        }
                    }
                    #endregion
                }
                #endregion
            }
            panelTabTerm.Visible    = true;
            webTab.SelectedTabIndex = 0;
        }
 protected void Page_Load(object sender, System.EventArgs e)
 {
     #region Check Capabilities
     if ((SessionState.User.IsReadOnly) || (!SessionState.User.HasCapability(CapabilitiesEnum.MANAGE_TERM_BASE)))
     {
         uwToolbar.Items.FromKeyButton("Save").Enabled   = false;
         uwToolbar.Items.FromKeyButton("Delete").Enabled = false;
     }
     #endregion
     termId       = Convert.ToInt64(Request["t"]);
     languageCode = Request["c"];
     if (!Page.IsPostBack)
     {
         try
         {
             using (HyperCatalog.Business.Language currentLanguage = HyperCatalog.Business.Language.GetByKey(languageCode))
             {
                 string languageName = currentLanguage.Name;
                 if (currentLanguage.Rtl)
                 {
                     txtTermValue.CssClass = "hc_rtledit";
                 }
                 lbLanguage.Text = "[" + languageCode + "] " + languageName;
                 using (Term t = Term.GetByKey(termId))
                 {
                     if (t != null)
                     {
                         txtTermValueMaster.Text = t.Value;
                         using (TermTranslation tt = TermTranslation.GetByKey(termId, languageCode))
                         {
                             if (tt == null)
                             {
                                 #region New translation
                                 uwToolbarTitle.Items.FromKeyLabel("Action").Text = "Creating";
                                 hlCreator.Text         = UITools.GetDisplayName(t.User.FullName);
                                 hlCreator.NavigateUrl  = "mailto:" + UITools.GetDisplayEmail(t.User.Email) + Server.HtmlEncode("?subject=TermTranslation[#" + t.Id.ToString() + " - " + t.LanguageCode + "]");;
                                 lbOrganization.Text    = t.User.OrgName;
                                 lbOrganization.Visible = hlCreator.Text == t.User.FullName;
                                 lbCreatedOn.Text       = SessionState.User.FormatUtcDate(t.ModifyDate.Value, true, SessionState.User.FormatDate + ' ' + SessionState.User.FormatTime);
                                 UITools.HideToolBarButton(uwToolbar, "Delete");
                                 UITools.HideToolBarSeparator(uwToolbar, "SepDelete");
                                 #endregion
                             }
                             else
                             {
                                 #region Update translation
                                 uwToolbarTitle.Items.FromKeyLabel("Action").Text = "Updating";
                                 txtTermValue.Text     = tt.Value;
                                 hlCreator.Text        = tt.User.FullName;
                                 hlCreator.NavigateUrl = "mailto:" + UITools.GetDisplayEmail(tt.User.Email) + Server.HtmlEncode("?subject=TermTranslation");;
                                 lbOrganization.Text   = tt.User.OrgName;
                                 lbCreatedOn.Text      = SessionState.User.FormatUtcDate(tt.ModifyDate.Value, true, SessionState.User.FormatDate + ' ' + SessionState.User.FormatTime);
                                 UITools.ShowToolBarButton(uwToolbar, "Delete");
                                 UITools.ShowToolBarSeparator(uwToolbar, "SepDelete");
                                 #endregion
                             }
                         }
                     }
                     else
                     {
                         Response.Write("<script>alert('An error occurred when retrieving translation term [" + Request["t"] + "]' );window.close();</script>");
                         Response.End();
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             Response.Write("<script>alert('An error occurred when retrieving translation term:" + ex.Message + " [" + Request["t"] + "]' );window.close();</script>");
             Response.End();
         }
     }
 }