using System; using System.Data; using CMS.GlobalHelper; using CMS.SettingsProvider; using CMS.SiteProvider; using CMS.UIControls; public partial class CMSSiteManager_Development_Cultures_Culture_Edit_General : SiteManagerPage { #region "Variables" private CultureInfo culture; #endregion #region "Page events" protected void Page_Load(object sender, EventArgs e) { rfvCultureName.ErrorMessage = GetString("Culture_Edit_General.ErrorEmptyCultureName"); rfvCultureCode.ErrorMessage = GetString("Culture_Edit_General.ErrorEmptyCultureCode"); rfvCultureShortName.ErrorMessage = GetString("Culture_Edit_General.ErrorEmptyCultureShortName"); int cultureId = QueryHelper.GetInteger("cultureId", 0); culture = CultureInfoProvider.GetSafeCulture(cultureId); EditedObject = culture; if (!RequestHelper.IsPostBack()) { LoadData(); if (QueryHelper.GetBoolean("saved", false)) { ShowChangesSaved(); } } } #endregion #region "Events" /// /// Handles btnOK's OnClick event - Update resource info. /// protected void btnOK_Click(object sender, EventArgs e) { // finds whether required fields are not empty string result = new Validator() .NotEmpty(txtCultureName.Text.Trim(), rfvCultureName.ErrorMessage) .NotEmpty(txtCultureCode.Text.Trim(), rfvCultureCode.ErrorMessage) .Result; if (txtCultureCode.Text.Trim().Length > 10) { result = GetString("Culture.MaxLengthError"); } try { // Chech if global culture exists if (new System.Globalization.CultureInfo(txtCultureCode.Text.Trim()) == null) { result = GetString("Culture.ErrorNoGlobalCulture"); } } catch { result = GetString("Culture.ErrorNoGlobalCulture"); } txtCultureAlias.Text = URLHelper.GetSafeUrlPart(txtCultureAlias.Text.Trim(), String.Empty); string cultureAlias = txtCultureAlias.Text.Trim().Replace("'", "''"); // Check whether culture alias is unique if (!string.IsNullOrEmpty(cultureAlias)) { string where = string.Format("(CultureCode = N'{0} 'OR CultureAlias = N'{0}') AND CultureID <> {1}", cultureAlias, culture.CultureID); DataSet cultures = CultureInfoProvider.GetCultures(where, null, 1, "CultureID"); if ((!DataHelper.DataSourceIsEmpty(cultures)) || (CMSString.Equals(cultureAlias, txtCultureCode.Text.Trim(), true))) { result = GetString("Culture.AliasNotUnique"); } } if (result != string.Empty) { ShowError(result); return; } // finds if the culture code is unique CultureInfo uniqueCulture = CultureInfoProvider.GetCultureInfoForCulture(txtCultureCode.Text.Trim()); // if culture code already exists and it is just editing culture -> update if ((uniqueCulture == null) || (uniqueCulture.CultureID == culture.CultureID)) { UpdateCulture(); } // if culture code already exists and it is another culture -> error else { ShowError(GetString("Culture_New.CultureExists")); } } #endregion #region "Methods" /// /// Loads data of edited culture into textboxes. /// protected void LoadData() { txtCultureName.Text = culture.CultureName; txtCultureCode.Text = culture.CultureCode; txtCultureShortName.Text = culture.CultureShortName; txtCultureAlias.Text = culture.CultureAlias; } /// /// Update just edited culture. /// protected void UpdateCulture() { if (culture != null) { culture.CultureName = txtCultureName.Text.Trim(); culture.CultureCode = txtCultureCode.Text.Trim(); culture.CultureShortName = txtCultureShortName.Text.Trim(); culture.CultureAlias = txtCultureAlias.Text.Trim(); CultureInfoProvider.SetCultureInfo(culture); } ShowChangesSaved(); // Refresh header ScriptHelper.RefreshTabHeader(this, "general"); } #endregion }