// GET: ProductManager public ActionResult Index() { string role = CurrentUser.Role; if (role != Convert.ToString((byte)UserType.Admin)) { return(RedirectToAction("index", "home")); } var categories = _categoryService.GetAllCategory(); PrepareCategoryHash categoryHash = new PrepareCategoryHash(); //kategori ağaç class categoryHash.CreateHashTableAndProductTree(); //kategori ve ürün agacını oluştur Hashtable hashTable = categoryHash.GetCategoryTable; List <ProductManagmentHomeModel> model = new List <ProductManagmentHomeModel>(); foreach (var item in categories) //ürün ağacından verileri modele atama { ProductGroupTree treeGroup = (ProductGroupTree)hashTable[item.CategoryName]; //product group agacı tipine casting işlemi if (treeGroup != null) { treeGroup.inOrder(treeGroup.GetRoot());//urun grubu ağacı inorder dolanır var treeNode = treeGroup.ProductNode; model.Add(new ProductManagmentHomeModel { ProductGroupTree = treeNode, CategoryName = item.CategoryName }); } } return(View(model)); }
public ActionResult TraverByType(string type) { var categories = _categoryService.GetAllCategory(); PrepareCategoryHash categoryHash = new PrepareCategoryHash(); //kategori ağaç class categoryHash.CreateHashTableAndProductTree(); //kategori ve ürün agacını oluştur Hashtable hashTable = categoryHash.GetCategoryTable; List <ProductManagmentHomeModel> model = new List <ProductManagmentHomeModel>(); ViewBag.type = type; List <ProductGroupTreeNode> treeNode1 = new List <ProductGroupTreeNode>(); foreach (var item in categories) //ürün ağacından verileri modele atama { ProductGroupTree treeGroup = (ProductGroupTree)hashTable[item.CategoryName]; //product group agacı tipine casting işlemi if (treeGroup != null) { if (type == "inorder") { treeGroup.inOrder(treeGroup.GetRoot()); } else if (type == "preorder") { treeGroup.preOrder(treeGroup.GetRoot()); } else if (type == "postorder") { treeGroup.postOrder(treeGroup.GetRoot()); } //urun grubu ağacı inorder dolanır var treeNode = treeGroup.ProductNode; treeNode1.AddRange(treeNode); } } return(View(treeNode1)); }