/// <summary>
 /// Delete the translation of the term
 /// </summary>
 private void BtnDelete()
 {
     using (TMExpressionTranslation tt = TMExpressionTranslation.GetByKey(expressionId, languageCode))
     {
         if (tt != null)
         {
             #region Delete result
             if (tt.Delete(HyperCatalog.Shared.SessionState.User.Id))
             {
                 Page.ClientScript.RegisterStartupScript(this.GetType(), "reloadParent", "<script>ReloadParent();top.close();</script>");
             }
             else
             {
                 lbMessage.Text     = TMExpressionTranslation.LastError;
                 lbMessage.CssClass = "hc_error";
                 lbMessage.Visible  = true;
             }
             #endregion
         }
         else
         {
             lbMessage.Text     = "Error: TM Expression translation can't be deleted - translation not found";
             lbMessage.CssClass = "hc_error";
             lbMessage.Visible  = true;
         }
     }
 }
 /// <summary>
 /// Save the translation of the term
 /// </summary>
 private void BtnSave()
 {
     using (TMExpressionTranslation tt = TMExpressionTranslation.GetByKey(expressionId, languageCode))
     {
         if (tt != null)
         {
             #region Update translation
             tt.UserId = SessionState.User.Id;
             tt.Value  = txtTMExpressionValue.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     = TMExpressionTranslation.LastError;
                 lbMessage.CssClass = "hc_error";
                 lbMessage.Visible  = true;
             }
             #endregion
         }
         else
         {
             lbMessage.Text     = TMExpressionTranslation.LastError;
             lbMessage.CssClass = "hc_error";
             lbMessage.Visible  = true;
         }
     }
 }
Beispiel #3
0
 /// <summary>
 /// Show the list of translations for the selected TM Expression
 /// </summary>
 private void ShowTMTranslations()
 {
     using (HCExpression = TMExpression.GetByKey(Convert.ToInt32(expressionId)))
     {
         int TranslationsCount = HCExpression.Translations.Count - HCExpression.TranslationsMissingCount;
         UITools.RefreshTab(Page, "Translations", "'" + TranslationsCount.ToString() + "/" + HCExpression.Translations.Count.ToString() + "'");
         using (TMExpressionTranslationList list = TMExpressionTranslation.GetAll(expressionId, string.Empty))
         {
             dg.DataSource = list;
             Utils.InitGridSort(ref dg, false);
             dg.DisplayLayout.CellClickActionDefault           = CellClickAction.NotSet;
             dg.DisplayLayout.ActivationObject.AllowActivation = false;
             dg.DataBind();
         }
     }
 }
Beispiel #4
0
 /// <summary>
 /// Delete the selected translation of the TM Expression
 /// </summary>
 private void Delete()
 {
     for (int i = 0; i < dg.Rows.Count; i++)
     {
         TemplatedColumn col = (TemplatedColumn)dg.Rows[i].Cells.FromKey("Select").Column;
         CheckBox        cb  = (CheckBox)((CellItem)col.CellItems[i]).FindControl("g_sd");
         if (cb.Checked)
         {
             using (TMExpressionTranslation tt = TMExpressionTranslation.GetByKey(expressionId, dg.Rows[i].Cells.FromKey("LanguageCode").ToString()))
             {
                 if (tt != null)
                 {
                     #region Delete result
                     if (!tt.Delete(HyperCatalog.Shared.SessionState.User.Id))
                     {
                         lbMessage.Text     = "Error: Translation [" + dg.Rows[i].Cells.FromKey("LanguageCode").ToString() + "] can't be deleted";
                         lbMessage.CssClass = "hc_error";
                         lbMessage.Visible  = true;
                         break;
                     }
                     #endregion
                 }
                 else
                 {
                     lbMessage.Text     = "Error: Term translation [" + dg.Rows[i].Cells.FromKey("Language").ToString() + "] can't be deleted - translation not found";
                     lbMessage.CssClass = "hc_error";
                     lbMessage.Visible  = true;
                 }
             }
         }
     }
     ShowTMTranslations();
     lbMessage.Text     = "Data deleted";
     lbMessage.CssClass = "hc_success";
     lbMessage.Visible  = true;
 }
Beispiel #5
0
    /// <summary>
    /// Save translations
    /// </summary>
    private void Save()
    {
        bool canUpdate;

        for (int i = 0; i < dg.Rows.Count; i++)
        {
            string                  languageCode         = dg.Rows[i].Cells.FromKey("LanguageCode").Text;
            TemplatedColumn         col                  = (TemplatedColumn)dg.Rows[i].Cells.FromKey("Value").Column;
            TextBox                 tb                   = (TextBox)((CellItem)col.CellItems[i]).FindControl("TXTChangedValue");
            string                  newTMExpressionValue = tb.Text;
            TMExpressionTranslation tt;
            using (tt = TMExpressionTranslation.GetByKey(expressionId, languageCode))
            {
                if (tt == null)
                {
                    canUpdate = newTMExpressionValue != null;
                    if (canUpdate)
                    {
                        canUpdate = newTMExpressionValue.Trim() != string.Empty;
                    }
                    #region New Translation
                    if (canUpdate)
                    {
                        tt = new TMExpressionTranslation(expressionId, newTMExpressionValue, languageCode, dg.Rows[i].Cells.FromKey("Rtl").Text.ToLower() == "true",
                                                         SessionState.User.Id, DateTime.UtcNow);
                        int r = tt.Save();
                        if (r < 0)
                        {
                            lbMessage.Text     = "Error: Translation [" + languageCode + "] can't be created";
                            lbMessage.CssClass = "hc_error";
                            lbMessage.Visible  = true;
                            break;
                        }
                    }
                    #endregion
                }
                #region Translation already exist
                else
                {
                    if (tt.Value != newTMExpressionValue)
                    {
                        tt.LanguageCode = languageCode;
                        tt.Value        = newTMExpressionValue;
                        tt.Rtl          = dg.Rows[i].Cells.FromKey("Rtl").Text.ToLower() == "true";
                        canUpdate       = newTMExpressionValue != null;
                        if (canUpdate)
                        {
                            canUpdate = newTMExpressionValue.Trim() != string.Empty;
                        }
                        #region Value modified
                        if (canUpdate)
                        {
                            int r = tt.Save();
                            if (r < 0)
                            {
                                lbMessage.Text     = "Error: Translation [" + languageCode + "] can't be updated";
                                lbMessage.CssClass = "hc_error";
                                lbMessage.Visible  = true;
                                break;
                            }
                        }
                        #endregion
                        #region Value deleted
                        else
                        {
                            if (!tt.Delete(HyperCatalog.Shared.SessionState.User.Id))
                            {
                                lbMessage.Text     = "Error: localization [" + languageCode + "] can't be deleted";
                                lbMessage.CssClass = "hc_error";
                                lbMessage.Visible  = true;
                                break;
                            }
                        }
                        #endregion
                    }
                }
                #endregion
            }
        }
        ShowTMTranslations();
        lbMessage.Text     = "Data saved";
        lbMessage.CssClass = "hc_success";
        lbMessage.Visible  = true;
        using (Database dbObj = Utils.GetMainDB())
        {
            UITools.RefreshTab(Page, "Translations", Utils.GetCount(dbObj, String.Format("SELECT COUNT(*) FROM TMTranslations WHERE TMExpressionId = {0}", expressionId)));
        }
    }
 protected void Page_Load(object sender, System.EventArgs e)
 {
     #region Check Capabilities
     if ((SessionState.User.IsReadOnly) || (!SessionState.User.HasCapability(CapabilitiesEnum.MANAGE_TRANSLATION_MEMORY)))
     {
         uwToolbar.Items.FromKeyButton("Save").Enabled   = false;
         uwToolbar.Items.FromKeyButton("Delete").Enabled = false;
     }
     #endregion
     if (Request["e"] != null)
     {
         expressionId = Convert.ToInt64(Request["e"]);
         languageCode = Request["l"];
         if (!Page.IsPostBack)
         {
             try
             {
                 using (HyperCatalog.Business.Language l = HyperCatalog.Business.Language.GetByKey(languageCode))
                 {
                     string languageName = l.Name;
                     lbLanguage.Text = "[" + languageCode + "] " + languageName;
                 }
                 using (TMExpression t = TMExpression.GetByKey(expressionId))
                 {
                     if (t != null)
                     {
                         txtTMExpressionValueMaster.Text = t.Value;
                         using (TMExpressionTranslation tt = TMExpressionTranslation.GetByKey(expressionId, 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=TMTranslation[#" + 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);
                                 #endregion
                             }
                             else
                             {
                                 #region Update translation
                                 uwToolbarTitle.Items.FromKeyLabel("Action").Text = "Updating";
                                 txtTMExpressionValue.Text = tt.Value;
                                 hlCreator.Text            = tt.User.FullName;
                                 hlCreator.NavigateUrl     = "mailto:" + UITools.GetDisplayEmail(tt.User.Email) + Server.HtmlEncode("?subject=TMExpressionTranslation");;
                                 lbOrganization.Text       = tt.User.OrgName;
                                 lbCreatedOn.Text          = SessionState.User.FormatUtcDate(tt.ModifyDate.Value, true, SessionState.User.FormatDate + ' ' + SessionState.User.FormatTime);
                                 #endregion
                             }
                         }
                     }
                     else
                     {
                         Response.Write("<script>alert('An error occurred when retrieving translation expression [" + Request["t"] + "]' );window.close();</script>");
                         Response.End();
                     }
                 }
             }
             catch (Exception ex)
             {
                 Response.Write("<script>alert('An error occurred when retrieving translation expression:" + ex.Message + " [" + Request["t"] + "]' );window.close();</script>");
                 Response.End();
             }
         }
     }
 }