Пример #1
0
        // GET: Home

        public ActionResult Index()
        {
            //ViewBag.ID = CurrentUser.Role;//
            if (User.Identity.IsAuthenticated)
            {
                string role = CurrentUser.Role;
                if (role == Convert.ToString((byte)UserType.Admin))
                {
                    return(View("IndexAdmin"));
                }
            }
            var        products = _productService.GetAllProduct();
            HomeModel1 model    = new HomeModel1();

            foreach (var item in products)
            {
                model.Products.Add(new ProductItemModel {
                    ModelName = item.ModelName, ProductPrice = item.ProductPrice, ProductId = item.ID, CategoryName = item.Category.CategoryName, ProductDescription = item.ProductDescription, ProductName = item.ProductName
                });
            }
            return(View(model));
        }
Пример #2
0
        public ActionResult ProductCategorie(string productGoupName, string PriceBegin, string PriceLast)
        {
            HomeModel1 model = new HomeModel1();

            ViewBag.CategoryName = productGoupName;
            ViewBag.PriceBegin   = PriceBegin;
            ViewBag.PriceLast    = PriceLast;
            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;

            if (string.IsNullOrEmpty(PriceBegin))
            {
                List <ProductItemModel> list = new List <ProductItemModel>();
                var category       = _categoryService.GetAllCategory().Where(x => x.CategoryName == productGoupName).FirstOrDefault();
                var categoryParent = _categoryService.GetCategoryByCategoryId(category.CategoryParentId);

                ProductGroupTree treeGroup = (ProductGroupTree)hashTable[categoryParent.CategoryName]; //product group agacı tipine casting işlemi
                var treeNode = treeGroup.GetProductTreeNodeByProductGroupName(treeGroup.GetRoot(), productGoupName);
                if (treeNode != null)
                {
                    model.Products.AddRange(treeNode.ProductBase.Products);
                }
            }
            else
            {
                decimal priceBegin = Convert.ToDecimal(PriceBegin);
                decimal priceLast  = Convert.ToDecimal(PriceLast);
                if (string.IsNullOrEmpty(productGoupName))
                {
                    var categories1 = _categoryService.GetAllCategory().Where(x => x.CategoryType == (byte)CategoryType.Category);
                    foreach (var item in categories1)
                    {
                        ProductGroupTree treeGroup = (ProductGroupTree)hashTable[item.CategoryName];
                        treeGroup.GetAllProductPriceBetween(treeGroup.GetRoot(), priceBegin, priceLast);
                        model.Products.AddRange(treeGroup.ProductsBetween);
                    }
                }
                else
                {
                    List <ProductItemModel> list = new List <ProductItemModel>();
                    var category       = _categoryService.GetAllCategory().Where(x => x.CategoryName == productGoupName).FirstOrDefault();
                    var categoryParent = _categoryService.GetCategoryByCategoryId(category.CategoryParentId);

                    ProductGroupTree treeGroup = (ProductGroupTree)hashTable[categoryParent.CategoryName];//product group agacı tipine casting işlemi
                    var treeNode = treeGroup.GetProductTreeNodeByProductGroupName(treeGroup.GetRoot(), productGoupName);
                    if (treeNode != null)
                    {
                        foreach (var item in treeNode.ProductBase.Products.ToList())
                        {
                            if (item.ProductPrice > priceBegin && item.ProductPrice < priceLast)
                            {
                                model.Products.AddRange(treeNode.ProductBase.Products);
                            }
                        }
                    }
                }
            }



            return(View(model));
        }