Example #1
0
        /// <summary>
        /// Gets the categories list.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>
        ///   <c>GetCategoriesResponse</c> with tags list.
        /// </returns>
        public GetCategoryTreesResponse Get(GetCategoryTreesRequest request)
        {
            request.Data.SetDefaultOrder("Name");

            var categorizableItemsFuture = repository.AsQueryable <CategoryTreeCategorizableItem>().ToFuture();

            var query = repository
                        .AsQueryable <Module.Root.Models.CategoryTree>();

            var listResponse = query
                               .Where(map => !map.IsDeleted)
                               .Select(map => new CategoryTreeModel
            {
                Id             = map.Id,
                Version        = map.Version,
                CreatedBy      = map.CreatedByUser,
                CreatedOn      = map.CreatedOn,
                LastModifiedBy = map.ModifiedByUser,
                LastModifiedOn = map.ModifiedOn,

                Name  = map.Title,
                Macro = map.Macro,
            }).ToDataListResponse(request);

            var categorizableItems = categorizableItemsFuture.ToList();

            foreach (var listItem in listResponse.Items)
            {
                listItem.AvailableFor = categorizableItems.Where(c => c.CategoryTree.Id == listItem.Id).Select(c => c.CategorizableItem.Id).ToList();
            }
            return(new GetCategoryTreesResponse
            {
                Data = listResponse
            });
        }
        /// <summary>
        /// Gets the categories list.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>
        ///   <c>GetCategoriesResponse</c> with tags list.
        /// </returns>
        public GetCategoryTreesResponse Get(GetCategoryTreesRequest request)
        {
            request.Data.SetDefaultOrder("Name");

            var categorizableItemsFuture = repository.AsQueryable<CategoryTreeCategorizableItem>().ToFuture();

            var query = repository
                .AsQueryable<Module.Root.Models.CategoryTree>();

            var listResponse = query
                .Where(map => !map.IsDeleted)
                .Select(map => new CategoryTreeModel
                {
                    Id = map.Id,
                    Version = map.Version,
                    CreatedBy = map.CreatedByUser,
                    CreatedOn = map.CreatedOn,
                    LastModifiedBy = map.ModifiedByUser,
                    LastModifiedOn = map.ModifiedOn,

                    Name = map.Title,
                    Macro = map.Macro,
                }).ToDataListResponse(request);

            var categorizableItems = categorizableItemsFuture.ToList();
            foreach (var listItem in listResponse.Items)
            {
                listItem.AvailableFor = categorizableItems.Where(c => c.CategoryTree.Id == listItem.Id).Select(c => c.CategorizableItem.Id).ToList();
            }
            return new GetCategoryTreesResponse
            {
                Data = listResponse
            };
        }