using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.GlobalHelper;
using CMS.UIControls;
using CMS.WebAnalytics;
public partial class CMSModules_WebAnalytics_Controls_SelectGraphPeriod : CMSAdminControl
{
#region "Properties"
///
/// Start of itnerval.
///
public DateTime From
{
get
{
return ucRangeDatePicker.SelectedDateTime;
}
set
{
ucRangeDatePicker.SelectedDateTime = value;
}
}
///
/// Full date time representation (from) (return precise datetime, not start date of interval (end of year,month,day...).
///
public DateTime FullFrom
{
get
{
return ucRangeDatePicker.SelectedFullDateTime;
}
set
{
ucRangeDatePicker.SelectedFullDateTime = value;
}
}
///
/// Full date time representation (to) - (return precise datetime, not end date of interval (end of year,month,day...).
///
public DateTime FullTo
{
get
{
return ucRangeDatePicker.AlternateSelectedFullDateTime;
}
set
{
ucRangeDatePicker.AlternateSelectedFullDateTime = value;
}
}
///
/// End of interval.
///
public DateTime To
{
get
{
return ucRangeDatePicker.AlternateSelectedDateTime;
}
set
{
ucRangeDatePicker.AlternateSelectedDateTime = value;
}
}
///
/// Graph type interval.
///
public HitsIntervalEnum Interval
{
get
{
return HitsIntervalEnumFunctions.StringToHitsConversion(ValidationHelper.GetString(ViewState["GraphTypePeriod"], "Month"));
}
set
{
ViewState["GraphTypePeriod"] = value;
SetDateTimePickerSettings();
}
}
///
/// Enables/disables range date time picker
///
public bool Enabled
{
get
{
return ucRangeDatePicker.Enabled;
}
set
{
ucRangeDatePicker.Enabled = value;
btnUpdate.Enabled = value;
}
}
#endregion
#region "Methods"
protected void Page_Load(object sender, EventArgs e)
{
SetDateTimePickerSettings();
pnlRange.DefaultButton = btnUpdate.ID;
}
///
/// Sets settings for datetime picker depending on interval.
///
private void SetDateTimePickerSettings()
{
ucRangeDatePicker.DisableDaySelect = false;
ucRangeDatePicker.DisableMonthSelect = false;
ucRangeDatePicker.EditTime = false;
switch (Interval)
{
case HitsIntervalEnum.Month:
ucRangeDatePicker.DisableDaySelect = true;
break;
case HitsIntervalEnum.Year:
ucRangeDatePicker.DisableMonthSelect = true;
break;
case HitsIntervalEnum.Hour:
ucRangeDatePicker.EditTime = true;
break;
}
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
}
#endregion
}