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); }
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()); }