コード例 #1
0
        public GenericSearchResult <coreModel.DynamicContentFolder> SearchFolders(DynamicContentFolderSearchCriteria criteria)
        {
            var retVal = new GenericSearchResult <coreModel.DynamicContentFolder>();

            using (var repository = _repositoryFactory())
            {
                var query = repository.Folders.Where(x => x.ParentFolderId == criteria.FolderId);
                if (!string.IsNullOrEmpty(criteria.Keyword))
                {
                    query = query.Where(q => q.Name.Contains(criteria.Keyword));
                }
                var sortInfos = criteria.SortInfos;
                if (sortInfos.IsNullOrEmpty())
                {
                    sortInfos = new[] { new SortInfo {
                                            SortColumn = ReflectionUtility.GetPropertyName <coreModel.DynamicContentFolder>(x => x.Name), SortDirection = SortDirection.Ascending
                                        } };
                }

                retVal.TotalCount = query.Count();

                var folderIds = query.Select(x => x.Id).ToArray();
                retVal.Results = _dynamicContentService.GetFoldersByIds(folderIds);
            }
            return(retVal);
        }
コード例 #2
0
        public DynamicContentFolder[] GetFoldersByIds(string[] ids)
        {
            var cacheKey = GetCacheKey("IDynamicContentService.GetFoldersByIds", string.Join(", ", ids));
            var retVal   = _cacheManager.Get(cacheKey, RegionName, () => _contentService.GetFoldersByIds(ids));

            return(retVal);
        }
        public IHttpActionResult GetDynamicContentFolderById(string id)
        {
            var retVal = _dynamicContentService.GetFoldersByIds(new[] { id }).FirstOrDefault();

            if (retVal != null)
            {
                return(Ok(retVal.ToWebModel()));
            }
            return(NotFound());
        }