Пример #1
0
        public EquipmentCategoryTreeView GetProductCategoryTreeView(List <EquipmentCategory> purchaseProductCategories)
        {
            var categoryTreeView = new EquipmentCategoryTreeView
            {
                Trees = new List <TreeNode>()
            };

            if (!purchaseProductCategories.Any())
            {
                return(categoryTreeView);
            }
            var minLayer       = purchaseProductCategories.Min(x => x.Layer);
            var layerLength    = purchaseProductCategories.Select(x => x.Layer).Distinct().Count();
            var rootLayerTrees = RetrieveRootTreeNodesByParentId(minLayer, purchaseProductCategories);

            //if (!LastLayerOnly)
            //{
            //    categoryTreeView.Trees.Add(new TreeNode
            //    {
            //        HasSubTreeNodes = false,
            //        Text = "全部",
            //        Value = "",
            //    });
            //}
            foreach (var category in rootLayerTrees)
            {
                category.SubTreeNodes = new List <TreeNode>();
                category.SubTreeNodes = RetrieveSubTreeNodes(int.Parse(category.Value), purchaseProductCategories);
                categoryTreeView.Trees.Add(category);
            }

            return(categoryTreeView);
        }
Пример #2
0
        public ActionResult Edit(int id)
        {
            var productCategory = _categoryQuery.Get(id);
            var categories      = _categoryQuery.QueryAllValid().ToList();
            var treeView        = new EquipmentCategoryTreeView(categories);

            var viewModel = new EditViewModel(Url)
            {
                Id          = productCategory.Id,
                Name        = productCategory.Name,
                Description = productCategory.Description,
                ParentId    = productCategory.ParentId,
                Published   = productCategory.Published,
                Categories  = categories.Where(x => x.Id != productCategory.Id && x.ParentId == 0).Select(x => new SelectListItem {
                    Text = x.Name, Value = x.Id.ToString()
                }),
                ColumnTypes = Enum.GetNames(typeof(EquipmentCategoryColumnType))
                              .Select(x => new SelectListItem {
                    Text = x, Value = x.ToString()
                })
                              .ToList(),
                ProductCategoryTreeView = treeView.GetProductCategoryTreeView(),
                Columns = productCategory.Columns
            };

            viewModel.ProductCategoryTreeView.CategoryText = categories.SingleOrDefault(x => x.Id == productCategory.ParentId)?.Name;

            return(View("~/Views/Equipment/Category/Edit.cshtml", viewModel));
        }