예제 #1
0
        //int pageNumber,int pageSize,string[] orderBy,string whereClouse,object[] whereClouseArguments
        public UserActivitySummaryDataPageResponse Search(SearchSpecification <UserActivity> searchObject)
        {
            var query = GetDefaultQuery();

            if (searchObject.WhereClouse != null)
            {
                query = query.Where(searchObject.WhereClouse);
            }

            var summaryObject = ReadOnlyRepository.TakeSummary(query);

            query = ApplySortingRule(query, searchObject, x => x.Id);
            query = ApplyPagingRule(query, searchObject);

            return(new UserActivitySummaryDataPageResponse(query, searchObject.PageNumber, summaryObject.TotalActivityCount, false)
            {
                Summary = summaryObject,
            });
        }