Ejemplo n.º 1
0
        /// <summary>
        /// 递归生成分类Cascader
        /// </summary>
        /// <param name="categoryData"></param>
        /// <param name="parentId"></param>
        /// <param name="parentLevel"></param>
        /// <returns></returns>
        private List <CategoryCascaderDto> GetCascaderCategoryList(ListResultDto <Category> categoryData, Guid?parentId, int parentLevel)
        {
            List <CategoryCascaderDto> treeList = new List <CategoryCascaderDto>();

            var level    = parentLevel + 1;
            var treeData = categoryData.Items.Where(b => b.ParentId == parentId).ToList();

            foreach (var item in treeData)
            {
                var children = GetCascaderCategoryList(categoryData, item.Id, level);
                var model    = new CategoryCascaderDto()
                {
                    label = item.Name, value = item.Id
                };
                model.children = children.Count <= 0 ? null : children;

                treeList.Add(model);
            }
            return(treeList);
        }
        /// <summary>
        /// 获取分类树形结构数据
        /// </summary>
        /// <returns></returns>
        public Task <ListResultDto <CategoryCascaderDto> > GetAllAttr()
        {
            List <CategoryCascaderDto> listData = new List <CategoryCascaderDto>();

            var entity = _categoryAttributRepository.GetAllList();

            if (entity != null && entity.Count > 0)
            {
                foreach (var item in entity)
                {
                    var model = new CategoryCascaderDto()
                    {
                        label = item.Name, value = item.Id
                    };
                    listData.Add(model);
                }
            }

            return(Task.FromResult(new ListResultDto <CategoryCascaderDto>(
                                       ObjectMapper.Map <List <CategoryCascaderDto> >(listData)
                                       )));
        }