using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CMS.CMSHelper; using CMS.FormControls; using CMS.GlobalHelper; using CMS.UIControls; using CMS.WebAnalytics; public partial class CMSModules_WebAnalytics_Controls_UI_Conversion_Edit : CMSAdminEditControl { #region "Variables" private String oldConversionName = String.Empty; #endregion #region "Properties" /// /// UIForm control used for editing objects properties. /// public UIForm UIFormControl { get { return EditForm; } } /// /// Indicates if the control should perform the operations. /// public override bool StopProcessing { get { return base.StopProcessing; } set { base.StopProcessing = value; EditForm.StopProcessing = value; } } /// /// Indicates if the control is used on the live site. /// public override bool IsLiveSite { get { return base.IsLiveSite; } set { base.IsLiveSite = value; EditForm.IsLiveSite = value; } } #endregion #region "Page events" protected void Page_Load(object sender, EventArgs e) { EditForm.OnBeforeSave += new EventHandler(EditForm_OnBeforeSave); EditForm.OnAfterSave += new EventHandler(EditForm_OnAfterSave); bool modalDialog = QueryHelper.GetBoolean("modaldialog", false); if (modalDialog) { EditForm.SubmitButton.Visible = false; EditForm.RedirectUrlAfterCreate = ""; } } private void EditForm_OnAfterSave(object sender, EventArgs e) { ConversionInfo ci = EditForm.EditedObject as ConversionInfo; // If code name has changed (on existing object) => Rename all analytics statistics data. if ((ci != null) && (ci.ConversionName != oldConversionName) && (oldConversionName != String.Empty)) { ConversionInfoProvider.RenameConversionStatistics(oldConversionName, ci.ConversionName, CMSContext.CurrentSiteID); } } private void EditForm_OnBeforeSave(object sender, EventArgs e) { ConversionInfo ci = EditForm.EditedObject as ConversionInfo; if (ci != null) { ci.ConversionSiteID = CMSContext.CurrentSiteID; oldConversionName = ci.ConversionName; } } /// /// Saves the data /// /// If true, use server redirect after successfull save public bool Save(bool redirect) { string selectorID = QueryHelper.GetString("selectorID", String.Empty); bool ret = EditForm.SaveData(""); // If saved - redirect with ConversionID parameter if ((ret) && (redirect)) { ConversionInfo ci = (ConversionInfo)EditForm.EditedObject; if (ci != null) { URLHelper.Redirect("edit.aspx?conversionid=" + ci.ConversionID + "&saved=1&modaldialog=true&selectorID=" + selectorID); } } return ret; } #endregion }