Пример #1
0
        /// <summary>
        /// 查询所有的产品类别
        /// </summary>
        /// <returns></returns>
        public List <ProductCategoryEntity> GetList()
        {
            string Key = string.Format(CacheKey.JOOSHOW_PRODUCTCATEGORY_CACHE, this.CompanyID);

            List <ProductCategoryEntity> list = CacheHelper.Get(Key) as List <ProductCategoryEntity>;

            if (!list.IsNullOrEmpty())
            {
                return(list);
            }
            ProductCategoryEntity entity = new ProductCategoryEntity();

            entity.OrderBy(a => a.ID, EOrderBy.DESC);
            entity.IncludeAll();
            entity.Where(a => a.IsDelete == (int)EIsDelete.NotDelete)
            .And(a => a.CompanyID == this.CompanyID);
            list = this.ProductCategory.GetList(entity);
            if (!list.IsNullOrEmpty())
            {
                foreach (ProductCategoryEntity item in list)
                {
                    int depth = list.Where(a => a.Left <= item.Left && a.Right >= item.Right).Count();
                    item.Depth = depth;

                    if (item.ParentNum.IsNotEmpty())
                    {
                        ProductCategoryEntity parent = list.FirstOrDefault(a => a.SnNum == item.ParentNum);
                        item.ParentName = item != null && parent.CateName != "Root" ? parent.CateName : string.Empty;
                    }
                }
                CacheHelper.Insert(Key, list);
            }
            return(list);
        }
Пример #2
0
        /// <summary>
        /// 根据产品类别删除删除
        /// </summary>
        /// <param name="cateNum"></param>
        /// <returns></returns>
        public int Delete(IEnumerable <string> list)
        {
            string Key = string.Format(CacheKey.JOOSHOW_PRODUCTCATEGORY_CACHE, this.CompanyID);

            using (TransactionScope ts = new TransactionScope())
            {
                int line = 0;

                List <ProductCategoryEntity> listSource = GetList();
                listSource = listSource.IsNull() ? new List <ProductCategoryEntity>() : listSource;

                foreach (string item in list)
                {
                    ProductCategoryEntity parent = listSource.FirstOrDefault(a => a.SnNum == item);
                    int rightValue = parent.Right;
                    int leftValue  = parent.Left;

                    ProductCategoryEntity delCategory = new ProductCategoryEntity();
                    delCategory.IsDelete = (int)EIsDelete.Deleted;
                    delCategory.IncludeIsDelete(true);
                    delCategory.Where(a => a.Left >= leftValue)
                    .And(a => a.Right <= rightValue)
                    .And(a => a.CompanyID == this.CompanyID)
                    ;
                    line += this.ProductCategory.Update(delCategory);

                    List <ProductCategoryEntity> listNodes = listSource.Where(a => a.Left > leftValue).ToList();
                    if (!listNodes.IsNullOrEmpty())
                    {
                        foreach (ProductCategoryEntity cate in listNodes)
                        {
                            cate.Left = cate.Left - (rightValue - leftValue + 1);
                            cate.IncludeLeft(true);
                            cate.Where(a => a.SnNum == cate.SnNum).And(a => a.CompanyID == this.CompanyID);
                            line += this.ProductCategory.Update(cate);
                        }
                    }

                    listNodes = listSource.Where(a => a.Right > rightValue).ToList();
                    if (!listNodes.IsNullOrEmpty())
                    {
                        foreach (ProductCategoryEntity cate in listNodes)
                        {
                            cate.Right = cate.Right - (rightValue - leftValue + 1);
                            cate.IncludeRight(true);
                            cate.Where(a => a.SnNum == cate.SnNum).And(a => a.CompanyID == this.CompanyID);
                            line += this.ProductCategory.Update(cate);
                        }
                    }
                }
                if (line > 0)
                {
                    CacheHelper.Remove(Key);
                }
                ts.Complete();
                return(line);
            }
        }
Пример #3
0
        /// <summary>
        /// 根据产品类别删除删除
        /// </summary>
        /// <param name="cateNum"></param>
        /// <returns></returns>
        public int Delete(string cateNum)
        {
            ProductCategoryEntity entity = new ProductCategoryEntity();

            entity.Where(a => a.CateNum == cateNum);
            entity.IsDelete = (int)EIsDelete.Deleted;
            entity.IncludeIsDelete(true);
            int line = this.ProductCategory.Update(entity);

            if (line > 0)
            {
                CacheHelper.Remove(CacheKey.JOOSHOW_PRODUCTCATEGORY_CACHE);
            }
            return(line);
        }
Пример #4
0
        /// <summary>
        /// 查询所有的产品类别
        /// </summary>
        /// <returns></returns>
        public List <ProductCategoryEntity> GetList()
        {
            List <ProductCategoryEntity> list = CacheHelper.Get(CacheKey.JOOSHOW_PRODUCTCATEGORY_CACHE) as List <ProductCategoryEntity>;

            if (!list.IsNullOrEmpty())
            {
                return(list);
            }
            ProductCategoryEntity entity = new ProductCategoryEntity();

            entity.OrderBy(a => a.ID, EOrderBy.DESC);
            entity.IncludeAll();
            entity.Where(a => a.IsDelete == (int)EIsDelete.NotDelete);
            list = this.ProductCategory.GetList(entity);
            if (!list.IsNullOrEmpty())
            {
                CacheHelper.Insert(CacheKey.JOOSHOW_PRODUCTCATEGORY_CACHE, list);
            }
            return(list);
        }
Пример #5
0
 /// <summary>
 /// 批量删除产品类型
 /// </summary>
 /// <param name="list"></param>
 /// <returns></returns>
 public int DelBat(List <string> list)
 {
     using (TransactionScope ts = new TransactionScope())
     {
         int line = 0;
         foreach (string cateNum in list)
         {
             ProductCategoryEntity entity = new ProductCategoryEntity();
             entity.Where(a => a.CateNum == cateNum);
             entity.IsDelete = (int)EIsDelete.Deleted;
             entity.IncludeIsDelete(true);
             line += this.ProductCategory.Update(entity);
         }
         ts.Complete();
         if (line > 0)
         {
             CacheHelper.Remove(CacheKey.JOOSHOW_PRODUCTCATEGORY_CACHE);
         }
         return(line);
     }
 }
Пример #6
0
        /// <summary>
        /// 查询产品类别分页
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="pageInfo"></param>
        /// <returns></returns>
        public List <ProductCategoryEntity> GetList(ProductCategoryEntity entity, ref PageInfo pageInfo)
        {
            entity.IncludeAll();
            entity.Where(a => a.IsDelete == (int)EIsDelete.NotDelete);
            entity.OrderBy(a => a.ID, EOrderBy.DESC);
            int rowCount = 0;
            List <ProductCategoryEntity> list = this.ProductCategory.GetList(entity, pageInfo.PageSize, pageInfo.PageIndex, out rowCount);

            pageInfo.RowCount = rowCount;
            if (!list.IsNullOrEmpty())
            {
                AdminProvider adminProvider = new AdminProvider();
                foreach (ProductCategoryEntity item in list)
                {
                    if (!item.CreateUser.IsEmpty())
                    {
                        AdminEntity admin = adminProvider.GetAdmin(item.CreateUser);
                        item.CreateUser = admin.IsNotNull() ? admin.UserName : item.CreateUser;
                    }
                }
            }
            return(list);
        }