internal static void BuildTitleAndPathGroups(DataTable data, ContentCriteria criteria)
        {
            foreach (DataRow row in data.Rows.Cast<DataRow>().Where(dr => dr.IsNew()))
            {
                CriteriaFilterGroup<ContentProperty> critGroup = new CriteriaFilterGroup<ContentProperty>();
                critGroup.Condition = LogicalOperation.And;
                string contentTitle = EncodeTitle(row["title"].ToString());

                critGroup.AddFilter(
                    ContentProperty.Title,
                    CriteriaFilterOperator.EqualTo,
                    contentTitle);

                critGroup.AddFilter(
                    ContentProperty.Path,
                    CriteriaFilterOperator.EqualTo,
                    row["folderPath"].ToString());

                criteria.FilterGroups.Add(critGroup);
            }
        }
        protected virtual void GetExistingContentFilters(ContentCriteria criteria)
        {
            var rowGroups = Data.Rows.Cast<DataRow>().Where(dr => !dr.IsNew())
                             .Select((r, i) => new { Index = i, Row = r })
                             .GroupBy(obj => Math.Truncate(obj.Index / 10.0))
                             .Select(grp => grp.Select(v => v.Row).ToList());

            foreach (var rowGroup in rowGroups)
            {
                CriteriaFilterGroup<ContentProperty> critGroup = new CriteriaFilterGroup<ContentProperty>();
                critGroup.Condition = LogicalOperation.Or;

                foreach (DataRow row in rowGroup)
                {
                    critGroup.AddFilter(ContentProperty.Id, CriteriaFilterOperator.EqualTo, row["contentid"]);
                }

                criteria.FilterGroups.Add(critGroup);
            }
        }
Exemple #3
0
    private void LoadActivityData()
    {
        PagingInfo _Page = new PagingInfo(cmsActivityFeed.MaxResults);
        _Page.CurrentPage = currentPageNumber;
        ActivityCriteria criteria = new ActivityCriteria();
        criteria.PagingInfo = _Page;
        criteria.OrderByDirection = EkEnumeration.OrderByDirection.Descending;
        criteria.OrderByField = Ektron.Cms.Activity.ActivityProperty.Date;
        List<long> userIdlist = new List<long>();
        List<long> groupIdList = new List<long>();

        foreach (string item in FriendPreferences)
        {

            if (userInfo.DisplayName.ToLower() == item.Substring(item.IndexOf(">")+1).ToLower())
            {
                userIdlist.Add(userInfo.Id);
            }
            for (int i = 0; i <= friendList.Length - 1; i++)
            {
                if (friendList[i].DisplayName == item.Substring(item.IndexOf(">") + 1))
                {

                    userIdlist.Add(friendList[i].Id);
                }
            }

        }
        foreach (string groupItem in GroupPreferences)
        {
            for (int i = 0; i <= groupList.Length - 1; i++)
            {
                if (groupList[i].GroupName == groupItem.Substring(groupItem.IndexOf(">") + 1))
                {

                    groupIdList.Add(groupList[i].GroupId);
                }
            }
        }
        criteria.Condition = LogicalOperation.Or;
        if (userIdlist.Count > 0)
        {
            criteria.AddFilter(Ektron.Cms.Activity.ActivityProperty.ActionUserId, CriteriaFilterOperator.In, userIdlist);
        }
        if (groupIdList.Count > 0)
        {
            CriteriaFilterGroup<Ektron.Cms.Activity.ActivityProperty> group = new CriteriaFilterGroup<Ektron.Cms.Activity.ActivityProperty>();
            group.Condition = LogicalOperation.And;
            group.AddFilter(Ektron.Cms.Activity.ActivityProperty.ScopeObjectType, CriteriaFilterOperator.EqualTo, EkEnumeration.ActivityFeedType.CommunityGroup);
            group.AddFilter(Ektron.Cms.Activity.ActivityProperty.ScopeObjectId, CriteriaFilterOperator.In, groupIdList);

            criteria.FilterGroups.Add(group);
        }
        if (userIdlist.Count > 0 || groupIdList.Count > 0)
        {
            ActivityData = _activityApi.GetUserActivityStream(criteria, _activityApi.RequestInformation.UserId);
            totalPagesNumber = criteria.PagingInfo.TotalPages;
         }
         PageSettings();
    }