コード例 #1
0
        public GenericSearchResult <coreModel.DynamicContentPlace> SearchContentPlaces(DynamicContentPlaceSearchCriteria criteria)
        {
            var retVal = new GenericSearchResult <coreModel.DynamicContentPlace>();

            using (var repository = _repositoryFactory())
            {
                var query = repository.Places;
                if (!string.IsNullOrEmpty(criteria.FolderId))
                {
                    query = query.Where(x => x.FolderId == 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.DynamicContentPlace>(x => x.Name), SortDirection = SortDirection.Ascending
                                        } };
                }
                query = query.OrderBySortInfos(sortInfos);

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

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

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