using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using CMS.CMSHelper; using CMS.Community; using CMS.GlobalHelper; using CMS.PortalControls; public partial class CMSWebParts_Community_MediaLibrary_GroupMediaLibraryDataSource : CMSAbstractWebPart { #region "Properties" /// /// Gets or sets WHERE condition. /// public string WhereCondition { get { return ValidationHelper.GetString(GetValue("WhereCondition"), String.Empty); } set { SetValue("WhereCondition", value); srcMedia.WhereCondition = value; } } /// /// Gets or sets ORDER BY condition. /// public string OrderBy { get { return ValidationHelper.GetString(GetValue("OrderBy"), String.Empty); } set { SetValue("OrderBy", value); srcMedia.OrderBy = value; } } /// /// Gets or sets top N selected documents. /// public int SelectTopN { get { return ValidationHelper.GetInteger(GetValue("SelectTopN"), 0); } set { SetValue("SelectTopN", value); srcMedia.TopN = value; } } /// /// Gets or sets the source filter name. /// public string FilterName { get { return ValidationHelper.GetString(GetValue("FilterName"), String.Empty); } set { SetValue("FilterName", value); srcMedia.SourceFilterName = value; } } /// /// Gets or sets the cache item name. /// public override string CacheItemName { get { return base.CacheItemName; } set { base.CacheItemName = value; srcMedia.CacheItemName = value; } } /// /// Cache dependencies, each cache dependency on a new line. /// public override string CacheDependencies { get { return ValidationHelper.GetString(base.CacheDependencies, srcMedia.CacheDependencies); } set { base.CacheDependencies = value; srcMedia.CacheDependencies = value; } } /// /// Gets or sets the cache minutes. /// public override int CacheMinutes { get { return base.CacheMinutes; } set { base.CacheMinutes = value; srcMedia.CacheMinutes = value; } } /// /// Gest or sets selected columns. /// public string Columns { get { return ValidationHelper.GetString(GetValue("Columns"), String.Empty); } set { SetValue("Columns", value); srcMedia.SelectedColumns = value; } } /// /// Gets or sets the group name. /// public string GroupName { get { string groupName = ValidationHelper.GetString(GetValue("GroupName"), ""); if ((string.IsNullOrEmpty(groupName) || groupName == GroupInfoProvider.CURRENT_GROUP) && (CommunityContext.CurrentGroup != null)) { return CommunityContext.CurrentGroup.GroupName; } if (groupName == GroupInfoProvider.CURRENT_GROUP) { return QueryHelper.GetString("groupname", ""); } return groupName; } set { SetValue("GroupName", value); } } #endregion #region "Methods" /// /// Content loaded event handler. /// public override void OnContentLoaded() { base.OnContentLoaded(); SetupControl(); } /// /// Initializes the control properties. /// protected void SetupControl() { if (StopProcessing) { // Do nothing } else { srcMedia.WhereCondition = WhereCondition; srcMedia.OrderBy = OrderBy; srcMedia.TopN = SelectTopN; srcMedia.FilterName = ID; srcMedia.SourceFilterName = FilterName; srcMedia.CacheItemName = CacheItemName; srcMedia.CacheDependencies = CacheDependencies; srcMedia.CacheMinutes = CacheMinutes; srcMedia.SelectedColumns = Columns; // Set group ID srcMedia.GroupID = -1; if (!string.IsNullOrEmpty(GroupName)) { GroupInfo gi = GroupInfoProvider.GetGroupInfo(GroupName, CMSContext.CurrentSiteName); if (gi != null) { srcMedia.GroupID = gi.GroupID; } } } } /// /// Clears cache. /// public override void ClearCache() { srcMedia.ClearCache(); } #endregion }