using System;
using System.Web.UI.WebControls;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.SiteProvider;
using CMS.UIControls;
public partial class CMSModules_RelationshipNames_RelationshipName_New : SiteManagerPage
{
#region "Page events"
protected void Page_Load(object sender, EventArgs e)
{
// Check 'Assign with current web site' check box
if ((CMSContext.CurrentSite != null) && (!RequestHelper.IsPostBack()))
{
chkAssign.Text = GetString("General.AssignWithWebSite") + " " + HTMLHelper.HTMLEncode(CMSContext.CurrentSite.DisplayName);
chkAssign.Checked = true;
chkAssign.Visible = true;
}
// Initializes validators
RequiredFieldValidatorCodeName.ErrorMessage = GetString("General.RequiresCodeName");
RequiredFieldValidatorDisplayName.ErrorMessage = GetString("General.RequiresDisplayName");
// Initializes page title
string[,] pageTitleTabs = new string[2, 3];
pageTitleTabs[0, 0] = GetString("RelationshipNames.RelationshipNames");
pageTitleTabs[0, 1] = "~/CMSModules/RelationshipNames/RelationshipName_List.aspx";
pageTitleTabs[1, 0] = GetString("RelationshipNames.NewRelationshipName");
CurrentMaster.Title.Breadcrumbs = pageTitleTabs;
CurrentMaster.Title.TitleText = GetString("RelationshipNames.TitleNew");
CurrentMaster.Title.TitleImage = GetImageUrl("Objects/CMS_RelationshipName/new.png");
CurrentMaster.Title.HelpTopicName = "new_namegeneral_tab";
CurrentMaster.Title.HelpName = "helpTopic";
}
#endregion
#region "Control events"
///
/// Saves new relationship name's data and redirects to RelationshipName_Edit.aspx.
///
/// Sender
/// Event arguments
protected void ButtonOK_Click(object sender, EventArgs e)
{
// finds whether required fields are not empty
string result = new Validator().NotEmpty(txtRelationshipNameDisplayName.Text, GetString("General.RequiresDisplayName")).NotEmpty(txtRelationshipNameCodeName.Text, GetString("General.RequiresCodeName"))
.IsCodeName(txtRelationshipNameCodeName.Text, GetString("general.invalidcodename"))
.Result;
if (result == string.Empty)
{
RelationshipNameInfo rni = RelationshipNameInfoProvider.GetRelationshipNameInfo(txtRelationshipNameCodeName.Text);
if (rni == null)
{
int relationshipNameId = SaveNewRelationshipName();
if (relationshipNameId > 0)
{
URLHelper.Redirect("RelationshipName_Edit.aspx?relationshipnameid=" + relationshipNameId + "&saved=1");
}
}
else
{
ShowError(GetString("RelationshipNames.RelationshipNameAlreadyExists"));
}
}
else
{
ShowError(result);
}
}
#endregion
#region "Protected methods"
///
/// Saves new relationship name's data into DB.
///
/// Returns ID of created relationship name
protected int SaveNewRelationshipName()
{
RelationshipNameInfo rni = new RelationshipNameInfo();
rni.RelationshipDisplayName = txtRelationshipNameDisplayName.Text;
rni.RelationshipName = txtRelationshipNameCodeName.Text;
rni.RelationshipAllowedObjects = objectTypeSelector.ObjectType;
RelationshipNameInfoProvider.SetRelationshipNameInfo(rni);
if (chkAssign.Visible && chkAssign.Checked && (CMSContext.CurrentSite != null) && (rni.RelationshipNameId > 0))
{
// Add new relationship name to the actual site
RelationshipNameSiteInfoProvider.AddRelationshipNameToSite(rni.RelationshipNameId, CMSContext.CurrentSite.SiteID);
}
return rni.RelationshipNameId;
}
#endregion
}