using System;
using CMS.GlobalHelper;
using CMS.SiteProvider;
using CMS.UIControls;
using CultureInfo = System.Globalization.CultureInfo;
public partial class CMSModules_UICultures_Pages_Development_UICulture_Tab_General : SiteManagerPage
{
#region "Variables"
protected int UIcultureID;
#endregion
#region "Methods"
protected void Page_Load(object sender, EventArgs e)
{
rfvUICultureName.ErrorMessage = GetString("UICulture_Edit_General.ErrorEmptyCultureName");
rfvUICultureCode.ErrorMessage = GetString("UICulture_Edit_General.ErrorEmptyCultureCode");
// Get UIcultureID
UIcultureID = QueryHelper.GetInteger("uicultureid", 0);
if (UIcultureID != 0)
{
UICultureInfo myUICultureInfo = UICultureInfoProvider.GetSafeUICulture(UIcultureID);
EditedObject = myUICultureInfo;
if (!RequestHelper.IsPostBack())
{
txtUICultureName.Text = myUICultureInfo.UICultureName;
txtUICultureCode.Text = myUICultureInfo.UICultureCode;
}
}
}
///
/// Handles btnOK's OnClick event - Update resource info.
///
protected void btnOK_Click(object sender, EventArgs e)
{
// Check if input is valid
string cultureCode = txtUICultureCode.Text.Trim();
string result = new Validator()
.NotEmpty(txtUICultureName.Text, rfvUICultureName.ErrorMessage)
.NotEmpty(cultureCode, rfvUICultureCode.ErrorMessage)
.Result;
// Check if requested culture exists
try
{
CultureInfo obj = new CultureInfo(cultureCode);
}
catch
{
result = GetString("UICulture.ErrorNoGlobalCulture");
}
if (!string.IsNullOrEmpty(result))
{
ShowError(result);
}
else
{
SaveUICulture(cultureCode);
}
}
///
/// Save UI culture that is being edited.
///
/// ID of the saved culture
protected void SaveUICulture(string cultureCode)
{
if (!String.IsNullOrEmpty(cultureCode))
{
UICultureInfo culture = UICultureInfoProvider.GetUICultureInfo(cultureCode, false);
string cultureName = txtUICultureName.Text.Trim();
// Update UI culture
if ((UIcultureID > 0) && (((culture != null) && (culture.UICultureID == UIcultureID)) || (culture == null)))
{
if (culture == null)
{
culture = UICultureInfoProvider.GetSafeUICulture(UIcultureID);
}
if (culture != null)
{
culture.UICultureCode = cultureCode;
culture.UICultureName = cultureName;
culture.UICultureLastModified = DateTime.Now;
UICultureInfoProvider.SetUICultureInfo(culture);
ShowChangesSaved();
}
}
// Create new UI culture
else if ((UIcultureID <= 0) && (culture == null))
{
culture = new UICultureInfo();
culture.UICultureGUID = Guid.NewGuid();
culture.UICultureCode = cultureCode;
culture.UICultureName = cultureName;
culture.UICultureLastModified = DateTime.Now;
UICultureInfoProvider.SetUICultureInfo(culture);
ShowChangesSaved();
}
// Culture with specified code already exists
else
{
ShowError(GetString("UICulture_New.CultureExists"));
}
}
// Provided culture code is empty
else
{
ShowError(GetString("UICulture.ErrorNoGlobalCulture"));
}
}
#endregion
}