using CMS.CMSHelper; using CMS.Community; using CMS.GlobalHelper; using CMS.PortalControls; public partial class CMSWebParts_Community_Members_GroupMembersDataSource : CMSAbstractWebPart { #region "Properties" /// /// Gets or sets WHERE condition. /// public string WhereCondition { get { return ValidationHelper.GetString(GetValue("WhereCondition"), ""); } set { SetValue("WhereCondition", value); srcMembers.WhereCondition = value; } } /// /// Gets or sets Select only approved property. /// public bool SelectOnlyApproved { get { return ValidationHelper.GetBoolean(GetValue("SelectOnlyApproved"), true); } set { SetValue("SelectOnlyApproved", value); srcMembers.SelectOnlyApproved = value; } } /// /// Gets or sets ORDER BY condition. /// public string OrderBy { get { return ValidationHelper.GetString(GetValue("OrderBy"), ""); } set { SetValue("OrderBy", value); srcMembers.OrderBy = value; } } /// /// Gets or sets top N selected documents. /// public int SelectTopN { get { return ValidationHelper.GetInteger(GetValue("SelectTopN"), 0); } set { SetValue("SelectTopN", value); srcMembers.TopN = value; } } /// /// Gets or sets group name to specify group members. /// 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; } return groupName; } set { SetValue("GroupName", value); srcMembers.GroupName = value; } } /// /// Gets or sets the source filter name. /// public string FilterName { get { return ValidationHelper.GetString(GetValue("FilterName"), ""); } set { SetValue("FilterName", value); srcMembers.SourceFilterName = value; } } /// /// Gets or sets the site name. /// public string SiteName { get { return ValidationHelper.GetString(GetValue("SiteName"), CMSContext.CurrentSiteName); } set { SetValue("SiteName", value); srcMembers.SiteName = value; } } /// /// Gets or sets the cache item name. /// public override string CacheItemName { get { return base.CacheItemName; } set { base.CacheItemName = value; srcMembers.CacheItemName = value; } } /// /// Cache dependencies, each cache dependency on a new line. /// public override string CacheDependencies { get { return ValidationHelper.GetString(base.CacheDependencies, srcMembers.CacheDependencies); } set { base.CacheDependencies = value; srcMembers.CacheDependencies = value; } } /// /// Gets or sets the cache minutes. /// public override int CacheMinutes { get { return base.CacheMinutes; } set { base.CacheMinutes = value; srcMembers.CacheMinutes = value; } } /// /// Gets or sets selected columns. /// public string Columns { get { return ValidationHelper.GetString(GetValue("Columns"), ""); } set { SetValue("Columns", value); srcMembers.SelectedColumns = 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 { srcMembers.WhereCondition = WhereCondition; srcMembers.OrderBy = OrderBy; srcMembers.TopN = SelectTopN; srcMembers.GroupName = GroupName; srcMembers.FilterName = ValidationHelper.GetString(GetValue("WebPartControlID"), ClientID); srcMembers.SourceFilterName = FilterName; srcMembers.SiteName = SiteName; srcMembers.CacheItemName = CacheItemName; srcMembers.CacheDependencies = CacheDependencies; srcMembers.CacheMinutes = CacheMinutes; srcMembers.SelectOnlyApproved = SelectOnlyApproved; srcMembers.SelectedColumns = Columns; } } /// /// Clears cache. /// public override void ClearCache() { srcMembers.ClearCache(); } #endregion }