using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.DataEngine;
using CMS.GlobalHelper;
using CMS.PortalEngine;
using CMS.SettingsProvider;
using CMS.UIControls;
public partial class CMSModules_OnlineMarketing_Controls_WebParts_WebPartZonePersonalized : CMSUserControl, IWebPartZoneProperties
{
#region "Variables"
protected string zoneId = QueryHelper.GetString("zoneid", "");
protected int templateId = QueryHelper.GetInteger("templateid", 0);
protected int variantId = QueryHelper.GetInteger("variantid", 0);
protected VariantModeEnum variantMode = VariantModeFunctions.GetVariantModeEnum(QueryHelper.GetString("variantmode", string.Empty));
#endregion
#region "Page methods"
///
/// Init event handler.
///
protected override void OnInit(EventArgs e)
{
// When displaying an existing variant of a zone, get the variant mode for its original zone
if (variantId > 0)
{
PageTemplateInfo pti = PageTemplateInfoProvider.GetPageTemplateInfo(templateId);
if ((pti != null) && ((pti.TemplateInstance != null)))
{
// Get the original zone and retrieve its variant mode
WebPartZoneInstance zoneInstance = pti.TemplateInstance.GetZone(zoneId);
if ((zoneInstance != null) && (zoneInstance.VariantMode != VariantModeEnum.None))
{
variantMode = zoneInstance.VariantMode;
}
}
}
base.OnInit(e);
}
///
/// Handles the Load event of the Page control.
///
protected void Page_Load(object sender, EventArgs e)
{
if (variantMode == VariantModeEnum.MVT)
{
// Display MVT edit dialog
mvtEditElem.UIFormControl.EditedObject = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.MVTVARIANT, QueryHelper.GetInteger("variantid", 0));
mvtEditElem.UIFormControl.ParentObject = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.PAGETEMPLATE, QueryHelper.GetInteger("templateid", 0));
mvtEditElem.Visible = true;
mvtEditElem.UIFormControl.SubmitButton.Visible = false;
mvtEditElem.UIFormControl.ReloadData();
}
else if (variantMode == VariantModeEnum.ContentPersonalization)
{
// Display Content personalization edit dialog
cpEditElem.UIFormControl.EditedObject = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.CONTENTPERSONALIZATIONVARIANT, QueryHelper.GetInteger("variantid", 0));
cpEditElem.UIFormControl.ParentObject = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.PAGETEMPLATE, QueryHelper.GetInteger("templateid", 0));
cpEditElem.Visible = true;
cpEditElem.UIFormControl.SubmitButton.Visible = false;
cpEditElem.UIFormControl.ReloadData();
}
}
///
/// Saves the zone variant.
///
public bool Save()
{
bool result = false;
if (variantMode == VariantModeEnum.MVT)
{
if (mvtEditElem.ValidateData())
{
result = mvtEditElem.UIFormControl.SaveData(null);
}
}
else if (variantMode == VariantModeEnum.ContentPersonalization)
{
if (cpEditElem.ValidateData())
{
result = cpEditElem.UIFormControl.SaveData(null);
}
}
if (result)
{
cpEditElem.UIFormControl.ShowChangesSaved();
}
return result;
}
#endregion
}