// 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));
        }
Exemplo n.º 2
0
        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));
        }