using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.SettingsProvider;
using CMS.UIControls;
using CMS.WebAnalytics;
public partial class CMSModules_WebAnalytics_Controls_CampaignReportHeader : CMSAdminControl
{
private bool mShowVisitsInGoalSelector = true;
#region "Properties"
///
/// Selected campaign code name
///
public object SelectedCampaign
{
get
{
return ucSelectCampaign.Value;
}
set
{
ucSelectCampaign.Value = value;
}
}
///
/// Selected conversion code name
///
public object SelectedConversion
{
get
{
return usSelectConversion.Value;
}
set
{
usSelectConversion.Value = value;
}
}
///
/// If true, allow all is enabled
///
public bool CampaignAllowAll
{
get
{
return ucSelectCampaign.AllowAll;
}
set
{
ucSelectCampaign.AllowAll = value;
}
}
///
/// Indicates whether show conversion selector
///
public bool ShowConversionSelector
{
get
{
return pnlConversion.Visible;
}
set
{
pnlConversion.Visible = value;
}
}
///
/// Indicates whether show campaign selector
///
public bool ShowCampaignSelector
{
get
{
return pnlCampaign.Visible;
}
set
{
pnlCampaign.Visible = value;
}
}
///
/// Returns WA codename by given goal
///
public string CodeNameByGoal
{
get
{
return drpGoals.SelectedValue == "view" ? "campaign" : "campconversion;%";
}
}
///
/// Gets or sets goal
///
public string SelectedGoal
{
get
{
return drpGoals.SelectedValue;
}
set
{
drpGoals.SelectedValue = value;
}
}
///
/// Gets or sets SiteID
///
public int SelectedSiteID
{
get
{
// All sites - use '0' for query
if (usSite.SiteID == UniSelector.US_ALL_RECORDS)
{
return 0;
}
return usSite.SiteID;
}
set
{
usSite.SiteID = value;
}
}
///
/// Indicates whether show goal selector
///
public bool ShowGoalSelector
{
get
{
return pnlGoal.Visible;
}
set
{
pnlGoal.Visible = value;
}
}
///
/// Indicates whether show site selector
///
public bool ShowSiteSelector
{
get
{
return pnlSite.Visible;
}
set
{
pnlSite.Visible = value;
}
}
///
/// Value for all record item
///
public string AllRecordValue
{
get
{
return ucSelectCampaign.AllRecordValue;
}
}
///
/// If true, goal selector contains visits
///
public bool ShowVisitsInGoalSelector
{
get
{
return mShowVisitsInGoalSelector;
}
set
{
mShowVisitsInGoalSelector = value;
}
}
#endregion
#region "Methods"
protected void Page_Load(object sender, EventArgs e)
{
usSelectConversion.SelectionMode = SelectionModeEnum.SingleDropDownList;
usSite.UserId = CMSContext.CurrentUser.UserID;
usSite.AllowAll = CMSContext.CurrentUser.IsGlobalAdministrator;
string campaignName = ValidationHelper.GetString(ucSelectCampaign.Value, String.Empty);
if (campaignName != ucSelectCampaign.AllRecordValue)
{
CampaignInfo ci = CampaignInfoProvider.GetCampaignInfo(campaignName, CMSContext.CurrentSiteName);
if ((ci != null) && (!ci.CampaignUseAllConversions))
{
usSelectConversion.WhereCondition = "ConversionID IN (SELECT ConversionID FROM Analytics_ConversionCampaign WHERE CampaignID =" + ci.CampaignID + ")";
}
}
if (!URLHelper.IsPostback())
{
if (ShowVisitsInGoalSelector)
{
drpGoals.Items.Add(new ListItem(GetString("analytics.view"), "view"));
}
drpGoals.Items.Add(new ListItem(GetString("conversion.count"), "count"));
drpGoals.Items.Add(new ListItem(GetString("om.trackconversionvalue"), "value"));
usSite.SiteID = CMSContext.CurrentSiteID;
}
// Filter conversions for selected site (current is site selector not visible)
int siteID = CMSContext.CurrentSiteID;
if (pnlSite.Visible)
{
siteID = usSite.SiteID;
}
// Filter conversions only if not all sites selected
if (!pnlSite.Visible || (siteID.ToString() != usSite.AllRecordValue))
{
usSelectConversion.WhereCondition = SqlHelperClass.AddWhereCondition(usSelectConversion.WhereCondition, "ConversionSiteID =" + siteID);
}
usSelectConversion.ReloadData(true);
drpGoals.AutoPostBack = true;
}
protected override void OnPreRender(EventArgs e)
{
if (ShowGoalSelector)
{
usSelectConversion.Enabled = drpGoals.SelectedValue != "view";
}
base.OnPreRender(e);
}
#endregion
}