using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.CMSHelper;
using CMS.Controls;
using CMS.GlobalHelper;
using CMS.PortalControls;
using CMS.PortalEngine;
public partial class CMSWebParts_Syndication_Basic_XMLRepeater : CMSAbstractWebPart
{
#region "Variables"
private CMSBaseDataSource mDataSourceControl = null;
#endregion
#region "XML Repeater properties"
///
/// Custom feed header XML which is generated before feed items. If the value is empty default header for Atom feed is generated.
///
public string HeaderXML
{
get
{
return ValidationHelper.GetString(GetValue("HeaderXML"), null);
}
set
{
SetValue("HeaderXML", value);
xmlRepeater.HeaderXML = value;
}
}
///
/// Custom feed footer XML which is generated after feed items. If the value is empty default footer for Atom feed is generated.
///
public string FooterXML
{
get
{
return ValidationHelper.GetString(GetValue("FooterXML"), null);
}
set
{
SetValue("FooterXML", value);
xmlRepeater.FooterXML = value;
}
}
#endregion
#region "Datasource properties"
///
/// Gets or sets name of source.
///
public string DataSourceName
{
get
{
return ValidationHelper.GetString(GetValue("DataSourceName"), string.Empty);
}
set
{
SetValue("DataSourceName", value);
xmlRepeater.DataSourceName = value;
}
}
///
/// Control with data source.
///
public CMSBaseDataSource DataSourceControl
{
get
{
return mDataSourceControl;
}
set
{
mDataSourceControl = value;
xmlRepeater.DataSourceControl = value;
}
}
#endregion
#region "Cache properties"
///
/// Gets or sets the cache item name.
///
public override string CacheItemName
{
get
{
return ValidationHelper.GetString(base.CacheItemName, xmlRepeater.CacheItemName);
}
set
{
base.CacheItemName = value;
xmlRepeater.CacheItemName = value;
}
}
///
/// Cache dependencies, each cache dependency on a new line.
///
public override string CacheDependencies
{
get
{
return ValidationHelper.GetString(base.CacheDependencies, xmlRepeater.CacheDependencies);
}
set
{
base.CacheDependencies = value;
xmlRepeater.CacheDependencies = value;
}
}
///
/// Gets or sets the cache minutes.
///
public override int CacheMinutes
{
get
{
return base.CacheMinutes;
}
set
{
base.CacheMinutes = value;
xmlRepeater.CacheMinutes = value;
}
}
#endregion
#region "Transformation properties"
///
/// Gets or sets ItemTemplate property.
///
public string TransformationName
{
get
{
return ValidationHelper.GetString(GetValue("TransformationName"), string.Empty);
}
set
{
SetValue("TransformationName", value);
xmlRepeater.TransformationName = value;
}
}
#endregion
#region "Stop processing"
///
/// Returns true if the control processing should be stopped.
///
public override bool StopProcessing
{
get
{
return base.StopProcessing;
}
set
{
base.StopProcessing = value;
xmlRepeater.StopProcessing = value;
}
}
#endregion
#region "Overidden methods"
///
/// Content loaded event handler.
///
public override void OnContentLoaded()
{
base.OnContentLoaded();
SetupControl();
}
///
/// Reloads data.
///
public override void ReloadData()
{
base.ReloadData();
SetupControl();
}
#endregion
#region "Setup control"
///
/// Initializes the control properties.
///
protected void SetupControl()
{
if (StopProcessing || (CMSContext.ViewMode == ViewModeEnum.Design) || (CMSContext.ViewMode == ViewModeEnum.Edit) || (CMSContext.ViewMode == ViewModeEnum.EditDisabled))
{
xmlRepeater.StopProcessing = true;
}
else
{
// XML feed properties
xmlRepeater.HeaderXML = HeaderXML;
xmlRepeater.FooterXML = FooterXML;
// Cache properties
xmlRepeater.CacheItemName = CacheItemName;
xmlRepeater.CacheDependencies = CacheDependencies;
xmlRepeater.CacheMinutes = CacheMinutes;
// Transformation properties
xmlRepeater.TransformationName = TransformationName;
// Datasource properties
xmlRepeater.DataSourceName = DataSourceName;
}
}
#endregion
}