Beispiel #1
0
        public ActionResult menucategory()
        {
            var svCate = new CategoryService();
            var cate   = new List <CateModel>();

            if (MemoryCache.Default["menucategory"] != null)
            {
                cate = (List <CateModel>)MemoryCache.Default["menucategory"];
            }
            else
            {
                var sqlWhere = " AND categorylevel = 1 and categoryid in (1189, 3252, 5635,4179,1,1925,1083,2598,156 ,4370," +
                               "2064,3068,3156,7102,6336,747 ,3864,2180,4421,1795,6566,1416,3957,552 ,7248,3494,1615,4030,3689) ";

                var cate1 = svCate.SelectData <b2bCategory>("CategoryID,CategoryName,CategoryLevel,ParentCategoryID ", " IsDelete = 0 " + sqlWhere);

                sqlWhere = "AND categorylevel = 2 and parentcategoryid in (1189, 3252, 5635,4179,1,1925,1083,2598,156 ,4370," +
                           "2064,3068,3156,7102,6336,747 ,3864,2180,4421,1795,6566,1416,3957,552 ,7248,3494,1615,4030,3689) ";

                var cate2 = svCate.SelectData <b2bCategory>("CategoryID,CategoryName,CategoryLevel,ParentCategoryID ", " IsDelete = 0  " + sqlWhere);

                #region set
                foreach (var item in cate1)
                {
                    #region set level1
                    var cc1 = new CateModel();

                    cc1.id       = item.CategoryID;
                    cc1.name     = item.CategoryName;
                    cc1.level    = (int)item.CategoryLevel;
                    cc1.parentid = (int)item.ParentCategoryID;
                    //  cc1.parentpath = item.ParentCategoryPath;
                    cc1.subcategory = new List <CateModel>();
                    var subcate = new CateModel();
                    foreach (var item2 in cate2.Where(m => m.ParentCategoryID == item.CategoryID))
                    {
                        #region set level2
                        var cc2 = new CateModel();
                        cc2.id       = item2.CategoryID;
                        cc2.name     = item2.CategoryName;
                        cc2.level    = (int)item2.CategoryLevel;
                        cc2.parentid = (int)item2.ParentCategoryID;
                        // cc2.parentpath = item2.ParentCategoryPath;
                        cc2.subcategory = new List <CateModel>();

                        #endregion
                        cc1.subcategory.Add(cc2);
                    }

                    cate.Add(cc1);
                    #endregion


                    #endregion
                }
                MemoryCache.Default.Add("menucategory", cate, DateTime.Now.AddDays(1));
            }

            return(Json(new { category = cate }, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        /// <summary>
        /// get category by id
        /// </summary>
        public ActionResult Edit(int?id)
        {
            var cid = id ?? 0;

            var model = new CateModel();

            if (cid > 0)
            {
                model.Category = _categoryService.GetCategory(cid);
            }
            var catelist = _categoryService.GetCategoryTreeList();

            model.CateList = catelist;
            catelist.Add(new CategoryInfo()
            {
                CateName = "作为一级分类", CategoryId = 0
            });

            model.CateType.Clear();
            model.CateType.Add(new SelectListItem {
                Text = "产品列表页", Value = "1", Selected = model.Category.Type == (int)Jqpress.Core.Domain.Enum.CateType.ProList
            });
            model.CateType.Add(new SelectListItem {
                Text = "信息列表页", Value = "2", Selected = model.Category.Type == (int)Jqpress.Core.Domain.Enum.CateType.ItemList
            });
            model.CateType.Add(new SelectListItem {
                Text = "单页面", Value = "3", Selected = model.Category.Type == (int)Jqpress.Core.Domain.Enum.CateType.Page
            });



            model.CateSelectItem.Clear();
            model.CateSelectItem = catelist.ConvertAll(c => new SelectListItem {
                Text = c.TreeChar + c.CateName, Value = c.CategoryId.ToString(), Selected = c.CategoryId == model.Category.ParentId
            });

            return(View(model));
        }
Beispiel #3
0
        public ActionResult LoadCateLV2(List <int> cateid)
        {
            var svCategory = new CategoryService();
            var cates      = new List <b2bCategory>();

            if (MemoryCache.Default["whereInCateLV2"] != null)
            {
                var sqlWhere = CreateWhereIN(cateid, "ParentCategoryID");
                var where = (string)MemoryCache.Default["whereInCateLV2"];
                if (sqlWhere == where)
                {
                    cates = (List <b2bCategory>)MemoryCache.Default["CateLV2"];
                }
                else
                {
                    cates = svCategory.SelectData <b2bCategory>("CategoryID,CategoryName,CategoryLevel,ParentCategoryID",
                                                                " IsDelete = 0 AND " + sqlWhere);

                    if (cates != null && svCategory.TotalRow > 0)
                    {
                        #region Set Model
                        var model = new List <CateModel>();
                        foreach (var item in cateid)
                        {
                            foreach (var sub in cates.Where(m => m.ParentCategoryID == item).OrderBy(m => m.CategoryName).Take(15))
                            {
                                var m = new CateModel();
                                m.id          = sub.CategoryID;
                                m.level       = (int)sub.CategoryLevel;
                                m.name        = sub.CategoryName;
                                m.parentid    = (int)sub.ParentCategoryID;
                                m.subcategory = new List <CateModel>();
                                model.Add(m);
                            }
                        }
                        #endregion

                        MemoryCache.Default.Add("CateLV2", model, DateTime.Now.AddHours(4));
                        MemoryCache.Default.Add("whereInCateLV2", where, DateTime.Now.AddHours(4));
                    }
                }
            }
            else
            {
                var sqlWhere = CreateWhereIN(cateid, "ParentCategoryID");
                cates = svCategory.SelectData <b2bCategory>("CategoryID,CategoryName,CategoryLevel,ParentCategoryID",
                                                            " IsDelete = 0 AND " + sqlWhere);
                if (cates != null && svCategory.TotalRow > 0)
                {
                    #region Set Model
                    var model = new List <CateModel>();
                    foreach (var item in cateid)
                    {
                        foreach (var sub in cates.Where(m => m.ParentCategoryID == item).OrderBy(m => m.CategoryName).Take(15))
                        {
                            var m = new CateModel();
                            m.id          = sub.CategoryID;
                            m.level       = (int)sub.CategoryLevel;
                            m.name        = sub.CategoryName;
                            m.parentid    = (int)sub.ParentCategoryID;
                            m.subcategory = new List <CateModel>();
                            model.Add(m);
                        }
                    }
                    #endregion

                    MemoryCache.Default.Add("CateLV2", model, DateTime.Now.AddHours(4));
                    MemoryCache.Default.Add("whereInCateLV2", sqlWhere, DateTime.Now.AddHours(4));
                }
            }

            return(Json(new { CateLV = cates }));
        }
Beispiel #4
0
        public ActionResult category(int type = 0)
        {
            var svCate = new CategoryService();
            var cate   = new List <CateModel>();

            if (MemoryCache.Default["categoryapp-" + type] != null)
            {
                cate = (List <CateModel>)MemoryCache.Default["categoryapp-" + type];
            }
            else
            {
                var sqlwhere = " AND CategoryType IN (2,3)";
                if (type > 0)
                {
                    sqlwhere = "AND CategoryType = " + type;
                }

                var cate1 = svCate.SelectData <b2bCategory>(" * ", " IsDelete = 0 AND CategoryLevel = 1 " + sqlwhere);
                var cate2 = svCate.SelectData <b2bCategory>(" * ", " IsDelete = 0 AND CategoryLevel = 2 " + sqlwhere);
                var cate3 = svCate.SelectData <b2bCategory>(" * ", " IsDelete = 0 AND CategoryLevel = 3 " + sqlwhere);
                foreach (var item in cate1)
                {
                    #region set level1
                    var cc1 = new CateModel();

                    cc1.id          = item.CategoryID;
                    cc1.name        = item.CategoryName;
                    cc1.level       = (int)item.CategoryLevel;
                    cc1.parentid    = (int)item.ParentCategoryID;
                    cc1.parentpath  = item.ParentCategoryPath;
                    cc1.subcategory = new List <CateModel>();
                    var subcate = new CateModel();
                    foreach (var item2 in cate2.Where(m => m.ParentCategoryID == item.CategoryID))
                    {
                        #region set level2
                        var cc2 = new CateModel();
                        cc2.id          = item2.CategoryID;
                        cc2.name        = item2.CategoryName;
                        cc2.level       = (int)item2.CategoryLevel;
                        cc2.parentid    = (int)item2.ParentCategoryID;
                        cc2.parentpath  = item2.ParentCategoryPath;
                        cc2.subcategory = new List <CateModel>();
                        foreach (var item3 in cate3.Where(m => m.ParentCategoryID == item2.CategoryID))
                        {
                            #region set level3
                            var cc3 = new CateModel();
                            cc3.id          = item3.CategoryID;
                            cc3.name        = item3.CategoryName;
                            cc3.level       = (int)item3.CategoryLevel;
                            cc3.parentid    = (int)item3.ParentCategoryID;
                            cc3.parentpath  = item3.ParentCategoryPath;
                            cc3.subcategory = new List <CateModel>();
                            cc2.subcategory.Add(cc3);
                            #endregion
                        }
                        #endregion
                        cc1.subcategory.Add(cc2);
                    }

                    cate.Add(cc1);
                    #endregion
                }
                MemoryCache.Default.Add("categoryapp-" + type, cate, DateTime.Now.AddDays(1));
            }

            return(Json(new { category = cate }, JsonRequestBehavior.AllowGet));
        }