Esempio n. 1
0
        /// <summary>
        /// 获取单个商品分类路径信息,并用分隔符分隔
        /// </summary>
        /// <param name="sysNo">分类系统编号</param>
        /// <param name="delimeter">分隔字符</param>
        /// <returns>返回完整分类溪经字符串</returns>
        /// <remarks>2013-08-06 邵斌 创建</remarks>
        public string GetCategoryRouteString(int sysNo, string delimeter)
        {
            //通过缓存读取数据
            return(CacheManager.Get <string>(CacheKeys.Items.ProductMasterCategoryRoute_, sysNo.ToString(), delegate()
            {
                //递归读取指定的分类所以上级分类
                PdCategory category = GetCategory(sysNo, true);
                StringBuilder sb = new StringBuilder();

                //循环拼接字符串,直到分类么有父级分类
                do
                {
                    //添加分类名称到结果字符串
                    sb.Append(category.CategoryName);

                    //如果存在下级分类将添加分隔符到字符串前面
                    if (category.ParentCategory != null)
                    {
                        sb.Append(delimeter);
                    }
                    else
                    {
                        break;
                    }

                    //设置新分类
                    category = category.ParentCategory;
                } while (true);
                return sb.ToString();
            }));
        }
Esempio n. 2
0
 /// <summary>
 /// 保存分类信息
 /// </summary>
 /// <param name="updateCategory">分类实体对象</param>
 /// <returns>返回: true 成功 false 失败</returns>
 /// <remarks>2013-07-10 邵斌 创建</remarks>
 public override bool Update(PdCategory updateCategory)
 {
     return(Context.Sql(@"update PdCategory set 
                                     CategoryName = @CategoryName
                                     ,Code=@Code
                                     ,ParentSysNo=@ParentSysNo
                                     ,SeoDescription=@SeoDescription
                                     ,SeoKeyword=@SeoKeyword
                                     ,SeoTitle=@SeoTitle
                                     ,LastUpdateBy=@LastUpdateBy
                                     ,LastUpdateDate=@LastUpdateDate 
                                     ,DisplayOrder=@DisplayOrder 
                                     where SysNo =@SysNo")
            .Parameter("CategoryName", updateCategory.CategoryName)
            .Parameter("Code", updateCategory.Code)
            .Parameter("ParentSysNo", updateCategory.ParentSysNo)
            .Parameter("SeoDescription", updateCategory.SeoDescription)
            .Parameter("SeoKeyword", updateCategory.SeoKeyword)
            .Parameter("SeoTitle", updateCategory.SeoTitle)
            .Parameter("LastUpdateBy", updateCategory.LastUpdateBy)
            .Parameter("LastUpdateDate", updateCategory.LastUpdateDate)
            .Parameter("DisplayOrder", updateCategory.DisplayOrder)
            .Parameter("SysNo", updateCategory.SysNo)
            .Execute() > 0);
 }
Esempio n. 3
0
        /// <summary>
        /// 修改商品分类的父节点
        /// </summary>
        /// <param name="sysNo">商品分类系统编号</param>
        /// <param name="parentSysNo">父节点系统编号</param>
        /// <returns>true:修改成功 false:修改失败</returns>
        /// <remarks>2013-07-10 邵斌 创建</remarks>
        public bool CategoryChangeParentSysNo(int sysNo, int parentSysNo)
        {
            PdCategory category = GetCategory(sysNo);

            //判断商品分类是否存在
            if (category == null)
            {
                return(false);
            }
            else
            {
                if (IPdCategoryDao.Instance.Update(category))
                {
                    //用户操作日志
                    BLL.Log.SysLog.Instance.Info(LogStatus.系统日志来源.后台,
                                                 string.Format("更新商品分类{0}父节点为{1}", sysNo, parentSysNo),
                                                 LogStatus.系统日志目标类型.商品分类基本信息, category.SysNo,
                                                 AdminAuthenticationBo.Instance.Current.Base.SysNo);
                    return(true);
                }
                else
                {
                    //用户操作日志
                    BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台,
                                                  string.Format("更新商品分类{0}父节点为{1}失败", sysNo, parentSysNo),
                                                  LogStatus.系统日志目标类型.商品分类基本信息, category.SysNo,
                                                  AdminAuthenticationBo.Instance.Current.Base.SysNo);
                    return(false);
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 修改商品分类
        /// </summary>
        /// <param name="category">商品分类实体</param>
        /// <param name="attributeGroupAso">商品分类对应属性组</param>
        /// <returns>返回操作是否成功 true:成功   false:不成功</returns>
        /// <remarks>2013-06-25 邵斌 创建</remarks>
        public override bool EditCategory(PdCategory category, IList <PdCatAttributeGroupAso> attributeGroupAso)
        {
            //接收新添加商品分类的系统编号
            int result = 0;

            using (var _context = Context.UseSharedConnection(true))
            {
                result = _context.Sql(@"update PdCategory set 
                                            CategoryImage = @CategoryImage
                                            ,CategoryName = @CategoryName
                                            ,Code=@Code
                                            ,ParentSysNo=@ParentSysNo
                                            ,SeoDescription=@SeoDescription
                                            ,SeoKeyword=@SeoKeyword
                                            ,SeoTitle=@SeoTitle
                                            ,LastUpdateBy=@LastUpdateBy
                                            ,LastUpdateDate=@LastUpdateDate 
                                            ,SysNos=@SysNos
                                            where SysNo = @SysNo")
                         .Parameter("CategoryImage", category.CategoryImage)
                         .Parameter("CategoryName", category.CategoryName)
                         .Parameter("Code", category.Code)
                         .Parameter("ParentSysNo", category.ParentSysNo)
                         .Parameter("SeoDescription", category.SeoDescription)
                         .Parameter("SeoKeyword", category.SeoKeyword)
                         .Parameter("SeoTitle", category.SeoTitle)
                         .Parameter("LastUpdateBy", category.LastUpdateBy)
                         .Parameter("LastUpdateDate", category.LastUpdateDate)
                         .Parameter("SysNos", category.SysNos)
                         .Parameter("SysNo", category.SysNo)
                         .Execute();

                //如果更新成功才添加属性组对应关系
                if (result > 0)
                {
                    //保存属性组对应关系
                    //先清理原有属性组信息,然后重新添加现有的所有属性组
                    _context.Delete("PdCatAttributeGroupAso")
                    .Where("ProductCategorySysNo", category.SysNo)
                    .Execute();

                    foreach (var pdCatAttributeGroupAso in attributeGroupAso)
                    {
                        //添加分类属性组
                        result = _context.Insert <PdCatAttributeGroupAso>("PdCatAttributeGroupAso", pdCatAttributeGroupAso)
                                 .AutoMap(c => c.SysNo)
                                 .ExecuteReturnLastId <int>("SysNo");

                        //如果有一个属性组信息没有保存成功都视为操作失败
                        if (result <= 0)
                        {
                            return(false);
                        }
                    }
                }
            }

            return(result > 0);
        }
Esempio n. 5
0
        /// <summary>
        /// 将分类排在父分类的末尾显示
        /// </summary>
        /// <param name="category">商品分类对象</param>
        /// <param name="context">供应数据库操作上线文</param>
        /// <returns>返回: true 成功 false 失败</returns>
        /// <remarks>2013-07-12 邵斌 创建</remarks>
        public override bool SetCategoryToLastShow(PdCategory category, IDbContext context = null)
        {
            context = context ?? Context;

            return
                (context.Sql(
                     @"update pdcategory set displayorder = (select count(sysno)+1 from pdcategory where parentsysno=@parentSysNo and sysno<>@sysno) where sysno=@sysno")
                 .Parameter("parentSysNo", category.ParentSysNo)
                 .Parameter("sysno", category.SysNo)
                 //.Parameter("sysno", category.SysNo)
                 .Execute() > 0);
        }
Esempio n. 6
0
        /// <summary>
        /// 获取单个商品分类回溯分类列表
        /// </summary>
        /// <param name="sysNo">分类系统编号</param>
        /// <returns>返回完整回溯分类列表</returns>
        /// <remarks>2013-08-06 邵斌 创建</remarks>
        public IList <PdCategory> GetCategoryRouteList(int sysNo)
        {
            PdCategory         category = GetCategory(sysNo, true);
            IList <PdCategory> result   = new List <PdCategory>();

            int displayOrderIndex = 0;

            while (category != null)
            {
                category.DisplayOrder = displayOrderIndex++;
                result.Add(category);
                category = category.ParentCategory;
            }
            return(result.OrderByDescending(c => c.DisplayOrder).ToList());
        }
Esempio n. 7
0
        /// <summary>
        /// 交换显示分类的显示排序
        /// </summary>
        /// <param name="originalSysNo">交换源对象系统编号</param>
        /// <param name="objectiveSysNo">要进行位置交换的目标对象系统编号</param>
        /// <returns>返回: true 操作成功  false 操作失败</returns>
        /// <remarks>注意:该方法值适用于在同一父级中进行移动变更</remarks>
        /// <remarks>2013-07-10 邵斌 创建</remarks>
        public bool SwapDisplayOrder(int originalSysNo, int objectiveSysNo)
        {
            bool       success   = false;
            PdCategory original  = IPdCategoryDao.Instance.GetCategory(originalSysNo);
            PdCategory objective = IPdCategoryDao.Instance.GetCategory(objectiveSysNo);

            //显示位置交换
            var objectIndex = objective.DisplayOrder;

            objective.DisplayOrder = original.DisplayOrder;
            original.DisplayOrder  = objectIndex;

            success = IPdCategoryDao.Instance.Update(original);

            //源对象更是是否成功
            if (success)
            {
                //更新成功就更新目标对象
                success = IPdCategoryDao.Instance.Update(objective);
            }
            else
            {
                //更新失败,数据还原
                original.DisplayOrder = objective.DisplayOrder;
                IPdCategoryDao.Instance.Update(original);
            }

            if (success)
            {
                //用户操作日志
                BLL.Log.SysLog.Instance.Info(LogStatus.系统日志来源.后台,
                                             string.Format("商品分类{0}与商品分类{1}互换顺序", originalSysNo, objectiveSysNo),
                                             LogStatus.系统日志目标类型.商品分类排序, originalSysNo,
                                             AdminAuthenticationBo.Instance.Current.Base.SysNo);
            }
            else
            {
                //用户操作日志
                BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台,
                                              string.Format("商品分类{0}与商品分类{1}互换顺序失败", originalSysNo, objectiveSysNo),
                                              LogStatus.系统日志目标类型.商品分类排序, originalSysNo,
                                              AdminAuthenticationBo.Instance.Current.Base.SysNo);
            }

            //返回结果
            return(success);
        }
Esempio n. 8
0
        /// <summary>
        /// 添加商品分类
        /// </summary>
        /// <param name="category">商品分类实体</param>
        /// <param name="attributeGroupAso">商品分类对应属性组</param>
        /// <returns>返回操作是否成功 true:成功   false:不成功</returns>
        /// <remarks>2013-06-25 邵斌 创建</remarks>
        public override bool CreateCategory(PdCategory category, IList <PdCatAttributeGroupAso> attributeGroupAso)
        {
            //接收新添加商品分类的系统编号
            int result = 0;

            //启动事务
            using (var _context = Context.UseSharedConnection(true))
            {
                //添加新分类
                result = _context.Insert <PdCategory>("PdCategory", category)
                         .AutoMap(c => c.SysNo, c => c.ParentCategory, c => c.IsMaster)
                         .ExecuteReturnLastId <int>("SysNo");             //记录返还系统编号
                category.SysNo = result;

                //通过系统编号来判断是否添加成功
                if (result > 0)
                {
                    //设置分类路由
                    SetCateorySysNosBySysNo(category.SysNo);
                    int index = 0;              //显示序号
                    foreach (var pdCatAttributeGroupAso in attributeGroupAso)
                    {
                        index++;
                        pdCatAttributeGroupAso.ProductCategorySysNo = category.SysNo;
                        pdCatAttributeGroupAso.DisplayOrder         = index;

                        //添加商品属性组对应关系
                        result = (_context.Insert <PdCatAttributeGroupAso>("PdCatAttributeGroupAso",
                                                                           pdCatAttributeGroupAso)
                                  .AutoMap(p => p.SysNo)
                                  .ExecuteReturnLastId <int>("SysNo"));
                        pdCatAttributeGroupAso.SysNo = result;      //记录返回属性组对应关系的系统编号

                        //判断是否添加成功,如果添加失败将回滚
                        if (result <= 0)
                        {
                            return(false);
                        }
                    }
                }

                //设置新添加的商品分类到他父级分类末尾显示
                SetCategoryToLastShow(category, _context);
            }
            return(true);
        }
Esempio n. 9
0
        private void AddBaseTaskObjectToList(List <BaseTask> listObject)
        {
            BaseTask bsAT                    = new BsArea();
            BaseTask bsDP                    = new BsDeliveryPayment();
            BaseTask bsPT                    = new BsPaymentType();
            BaseTask bsCode                  = new BsCode();
            BaseTask bsOrganization          = new BsOrganization();
            BaseTask bsOrganizationWarehouse = new BsOrganizationWarehouse();

            BaseTask crCustomer = new CrCustomer();
            BaseTask crCL       = new CrCustomerLevel();
            BaseTask crCQ       = new CrCustomerQuestion();
            BaseTask crRA       = new CrReceiveAddress();

            BaseTask dsMallType      = new DsMallType();
            BaseTask dsDealerLevel   = new DsDealerLevel();
            BaseTask feArticle       = new FeArticle();
            BaseTask feAC            = new FeArticleCategory();
            BaseTask feCS            = new FeCommentSupport();
            BaseTask fepc            = new FeProductComment();
            BaseTask fePCI           = new FeProductCommentImage();
            BaseTask fePCR           = new FeProductCommentReply();
            BaseTask feSearchKeyword = new FeSearchKeyword();
            BaseTask feadvertgroup   = new FeAdvertGroup();
            BaseTask feadvertitem    = new FeAdvertItem();
            BaseTask feproductgroup  = new FeProductGroup();
            BaseTask feproductitem   = new FeProductItem();

            BaseTask fnIT      = new FnInvoiceType();
            BaseTask fninvoice = new FnInvoice();

            BaseTask fnpv = new  FnReceiptVoucher();
            BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem();
            BaseTask fnop                 = new FnOnlinePayment();
            BaseTask fnPaymentVoucher     = new FnPaymentVoucher();
            BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem();

            BaseTask lgDelivery              = new LgDelivery();
            BaseTask lgDI                    = new LgDeliveryItem();
            BaseTask lgDS                    = new LgDeliveryScope();
            BaseTask lgDT                    = new LgDeliveryType();
            BaseTask lgDUC                   = new LgDeliveryUserCredit();
            BaseTask lgPT                    = new LgPickupType();
            BaseTask lgsettlement            = new LgSettlement();
            BaseTask lgSI                    = new LgSettlementItem();
            BaseTask lgDeliveryPrintTemplate = new LgDeliveryPrintTemplate();
            BaseTask pdAttribute             = new PdAttribute();
            BaseTask pdAG                    = new PdAttributeGroup();
            BaseTask pdAGA                   = new PdAttributeGroupAssociation();
            BaseTask pdAO                    = new PdAttributeOption();
            BaseTask pdBrand                 = new PdBrand();
            BaseTask pdCGA                   = new PdCatAttributeGroupAso();
            BaseTask pdCategory              = new PdCategory();
            BaseTask pdCA                    = new PdCategoryAssociation();
            BaseTask pdPrice                 = new PdPrice();
            BaseTask pdProduct               = new PdProduct();
            BaseTask pdPA                    = new PdProductAssociation();
            BaseTask pdProductAttribute      = new PdProductAttribute();
            BaseTask pdPI                    = new PdProductImage();
            BaseTask pdTemplate              = new PdTemplate();
            BaseTask pdProductStatistics     = new PdProductStatistics();

            BaseTask soOrder         = new SoOrder();
            BaseTask soOrderItem     = new SoOrderItem();
            BaseTask soRA            = new SoReceiveAddress();
            BaseTask SyUG            = new SyUserGroup();
            BaseTask syGU            = new SyGroupUser();
            BaseTask syMenu          = new SyMenu();
            BaseTask syMenuPrivilege = new SyMenuPrivilege();
            BaseTask syPrivilege     = new SyPrivilege();
            BaseTask syRole          = new SyRole();
            BaseTask syRoleMenu      = new SyRoleMenu();
            BaseTask syRolePrivilege = new SyRolePrivilege();
            BaseTask syPermission    = new SyPermission();
            BaseTask syUser          = new SyUser();
            BaseTask syUW            = new SyUserWarehouse();
            BaseTask syMyMenu        = new SyMyMenu();

            BaseTask spcombo                  = new SpCombo();
            BaseTask spComboItem              = new SpComboItem();
            BaseTask spcopon                  = new spcoupon();
            BaseTask sqpromotion              = new SPpromotion();
            BaseTask spromotiongift           = new SPpromotiongift();
            BaseTask sppromotionoverlay       = new SPpromotionoverlay();
            BaseTask sppromotionrule          = new SPpromotionrule();
            BaseTask sppromotionrulecondition = new SPpromotionrulecondition();
            BaseTask sppromotionrulekeyvalue  = new SPpromotionrulekeyvalue();
            BaseTask syTaskConfig             = new SyTaskConfig();

            BaseTask whStockOut     = new WhStockOut();
            BaseTask whStockOutItem = new WhstockOutItem();
            BaseTask whwarehouse    = new WhWarehouse();
            BaseTask whwa           = new WHwarehousearea();
            BaseTask whwdy          = new WHwarehouseDeliveryType();
            BaseTask whWPT          = new WhWarehousePickupType();
            BaseTask whstockin      = new WhStockIn();
            BaseTask whstockinItem  = new WHStockinItem();
            BaseTask rcReturn       = new RCReturn();
            BaseTask rcReturnItem   = new RcReturnItem();

            listObject.Add(bsAT);
            listObject.Add(bsDP);
            listObject.Add(bsPT);
            listObject.Add(bsCode);
            listObject.Add(bsOrganization);
            listObject.Add(bsOrganizationWarehouse);

            listObject.Add(crCustomer);
            listObject.Add(crCL);
            listObject.Add(crCQ);
            listObject.Add(crRA);
            listObject.Add(dsMallType);
            listObject.Add(dsDealerLevel);
            listObject.Add(feArticle);
            listObject.Add(feAC);
            listObject.Add(feCS);
            listObject.Add(fePCI);
            listObject.Add(fePCR);
            listObject.Add(fepc);
            listObject.Add(feSearchKeyword);
            listObject.Add(feadvertgroup);
            listObject.Add(feadvertitem);
            listObject.Add(feproductgroup);
            listObject.Add(feproductitem);

            listObject.Add(fnIT);
            listObject.Add(fnpv);
            listObject.Add(fnReceiptVoucherItem);
            listObject.Add(fnop);
            listObject.Add(fninvoice);

            listObject.Add(fnPaymentVoucher);
            listObject.Add(fnPaymentVoucherItem);

            listObject.Add(lgDelivery);
            listObject.Add(lgDI);
            listObject.Add(lgDS);
            listObject.Add(lgDT);
            listObject.Add(lgPT);
            listObject.Add(lgsettlement);
            listObject.Add(lgSI);
            listObject.Add(lgDeliveryPrintTemplate);

            listObject.Add(pdAttribute);
            listObject.Add(pdAG);
            listObject.Add(pdAGA);
            listObject.Add(pdAO);
            listObject.Add(pdBrand);
            listObject.Add(pdCGA);
            listObject.Add(pdCategory);
            listObject.Add(pdCA);
            listObject.Add(pdPrice);
            listObject.Add(pdProduct);
            listObject.Add(pdPA);
            listObject.Add(pdProductAttribute);
            listObject.Add(pdTemplate);
            listObject.Add(pdProductStatistics);

            listObject.Add(soOrder);
            listObject.Add(soOrderItem);

            listObject.Add(spcombo);
            listObject.Add(spComboItem);
            listObject.Add(spcopon);
            listObject.Add(sqpromotion);
            listObject.Add(spromotiongift);
            //listObject.Add(sppromotionoverlay);
            listObject.Add(sppromotionrule);
            listObject.Add(sppromotionrulecondition);
            listObject.Add(sppromotionrulekeyvalue);

            listObject.Add(syGU);
            listObject.Add(syUW);
            listObject.Add(SyUG);
            listObject.Add(syMenu);
            listObject.Add(syUser);
            listObject.Add(syPermission);

            listObject.Add(syMenuPrivilege);
            listObject.Add(syPrivilege);
            listObject.Add(syRole);
            listObject.Add(syRoleMenu);
            listObject.Add(syRolePrivilege);
            listObject.Add(syMyMenu);
            listObject.Add(syTaskConfig);

            listObject.Add(whStockOut);
            listObject.Add(whStockOutItem);
            listObject.Add(whwarehouse);
            listObject.Add(whwa);
            listObject.Add(whwdy);
            listObject.Add(whWPT);
            listObject.Add(whstockin);
            listObject.Add(whstockinItem);
            listObject.Add(rcReturn);
            listObject.Add(rcReturnItem);
            listObject.Add(lgDUC);
            listObject.Add(pdPI);
            listObject.Add(soRA);
        }
Esempio n. 10
0
        /// <summary>
        /// 根据商品系统编号获取商品信息
        /// </summary>
        /// <param name="productSysNo">商品系统编号</param>
        /// <returns>商品信息</returns>
        /// <remarks>2013-08-14 邵斌 创建</remarks>
        public CBSimplePdProduct GetProduct(int productSysNo)
        {
            return(CacheManager.Get <CBSimplePdProduct>(CacheKeys.Items.ProductDetailInfo_, productSysNo.ToString(), delegate()
            {
                var product = Hyt.DataAccess.Web.IPdProductDao.Instance.GetProduct(productSysNo);
                if (product != null)
                {
                    //判断商品主分类状态是否是可以购买(分类禁用和不显示视为无效)
                    if (product.Categories.Count > 0 &&
                        product.Categories[0].IsOnline == (int)ProductStatus.是否前端展示.是 &&
                        product.Categories[0].Status == (int)ProductStatus.商品分类状态.效)
                    {
                        product.Status = (int)ProductStatus.商品状态.架;
                    }
                    else
                    {
                        product.Status = (int)ProductStatus.商品状态.架;
                    }

                    if (product != null)
                    {
                        product.ProductAssociationRelationCode = Hyt.BLL.Product.PdProductAssociationBo.Instance.GetRelationCode(productSysNo);
                        PdCategory masterCategory = product.Categories.Any() ? product.Categories[0] : null;

                        //判断商品是否设置SEO
                        if (string.IsNullOrWhiteSpace(product.SeoTitle))
                        {
                            //如果商品有主分类则将分类SEO传递给商品
                            if (masterCategory != null)
                            {
                                product.SeoTitle = product.SeoTitle ?? masterCategory.SeoTitle;
                                product.SeoKeyword = product.SeoKeyword ?? masterCategory.SeoKeyword;
                                product.SeoDescription = product.SeoDescription ?? masterCategory.SeoDescription;
                            }
                            else
                            {
                                product.SeoTitle = product.SeoTitle ?? product.ProductName;
                                product.SeoKeyword = product.SeoKeyword ?? product.ProductName;
                                product.SeoDescription = product.SeoDescription ?? product.ProductName;
                            }
                        }

                        //获取商品团购信息
                        product.GroupShoppingSysNo = DataAccess.Tuan.IGsGroupShoppingDao.Instance.GetGroupShoppingSysNoByProduct(product.SysNo);
                        //组合商品价格名称
                        IList <PdPriceType> priceTypes = GetPriceTypeItems();
                        PdPriceType tempType;
                        foreach (var price in product.Prices)
                        {
                            tempType = priceTypes.FirstOrDefault(pn => pn.PriceSource == price.PriceSource && pn.SourceSysNo == price.SourceSysNo);
                            price.PriceName = (tempType != null) ? tempType.TypeName : "";
                        }
                    }

                    return product;
                }
                else
                {
                    return null;
                }
            }));
        }
Esempio n. 11
0
        /// <summary>
        /// 二期基础数据
        /// </summary>
        /// <param name="listObject"></param>
        private void AddBaseTaskObject2ToList1(List <BaseTask> listObject)
        {
            BaseTask bsAT = new BsArea();

            BaseTask crCustomer = new CrCustomer();
            BaseTask crCL       = new CrCustomerLevel();
            BaseTask crCQ       = new CrCustomerQuestion();
            BaseTask crRA       = new CrReceiveAddress();

            BaseTask feArticle = new FeArticle();
            BaseTask feAC      = new FeArticleCategory();
            BaseTask feCS      = new FeCommentSupport();
            BaseTask fepc      = new FeProductComment();
            BaseTask fePCI     = new FeProductCommentImage();
            BaseTask fePCR     = new FeProductCommentReply();

            BaseTask lgDS  = new LgDeliveryScope();
            BaseTask lgDUC = new LgDeliveryUserCredit();

            BaseTask pdAttribute        = new PdAttribute();
            BaseTask pdAG               = new PdAttributeGroup();
            BaseTask pdAGA              = new PdAttributeGroupAssociation();
            BaseTask pdAO               = new PdAttributeOption();
            BaseTask pdBrand            = new PdBrand();
            BaseTask pdCGA              = new PdCatAttributeGroupAso();
            BaseTask pdCategory         = new PdCategory();
            BaseTask pdCA               = new PdCategoryAssociation();
            BaseTask pdPrice            = new PdPrice();
            BaseTask pdProduct          = new PdProduct();
            BaseTask pdPA               = new PdProductAssociation();
            BaseTask pdProductAttribute = new PdProductAttribute();
            //BaseTask pdPI = new PdProductImage();
            BaseTask pdTemplate = new PdTemplate();

            BaseTask soRA = new SoReceiveAddress();

            BaseTask syUser = new SyUser();
            BaseTask syUW   = new SyUserWarehouse();

            BaseTask whwarehouse = new WhWarehouse();
            BaseTask whwa        = new WHwarehousearea();

            listObject.Add(bsAT);

            listObject.Add(crCustomer);
            listObject.Add(crCL);
            listObject.Add(crCQ);
            listObject.Add(crRA);

            listObject.Add(feArticle);
            listObject.Add(feAC);
            listObject.Add(feCS);
            listObject.Add(fepc);
            listObject.Add(fePCI);
            listObject.Add(fePCR);

            listObject.Add(lgDS);
            listObject.Add(lgDUC);

            listObject.Add(pdAttribute);
            listObject.Add(pdAG);
            listObject.Add(pdAGA);
            listObject.Add(pdAO);
            listObject.Add(pdBrand);
            listObject.Add(pdCGA);
            listObject.Add(pdCategory);
            listObject.Add(pdCA);
            listObject.Add(pdPrice);
            listObject.Add(pdProduct);
            listObject.Add(pdPA);
            listObject.Add(pdProductAttribute);
            listObject.Add(pdTemplate);
            //listObject.Add(pdPI);

            listObject.Add(soRA);

            listObject.Add(syUW);
            listObject.Add(syUser);

            listObject.Add(whwarehouse);
            listObject.Add(whwa);
        }
Esempio n. 12
0
        /// <summary>
        /// 添加商品分类(返回ID)
        /// </summary>
        /// <param name="category"></param>
        /// <param name="attributeGroups"></param>
        /// <returns></returns>
        public int CreatePdCategory(PdCategory category, IList <PdAttributeGroup> attributeGroups)
        {
            bool success = false;

            IList <PdCatAttributeGroupAso> attributeGroupAso = new List <PdCatAttributeGroupAso>();

            //如果设有分类属性组,将添加设置的属性组
            if (attributeGroups != null && attributeGroups.Count > 0)
            {
                //遍历商品分类下对应的属性分组,并初始化数据
                foreach (var group in attributeGroups)
                {
                    attributeGroupAso.Add(new PdCatAttributeGroupAso()
                    {
                        CreatedBy = AdminAuthenticationBo.Instance.GetAuthenticatedUser().SysNo
                        ,
                        CreatedDate          = DateTime.Now,
                        LastUpdateBy         = AdminAuthenticationBo.Instance.GetAuthenticatedUser().SysNo,
                        LastUpdateDate       = DateTime.Now,
                        ProductCategorySysNo = category.SysNo,
                        SysNo = 0,
                        AttributeGroupSysNo = group.SysNo
                    });
                }
            }

            category.Code           = ""; //GetFreeCodeNum(category.ParentSysNo);
            category.CreatedBy      = AdminAuthenticationBo.Instance.GetAuthenticatedUser().SysNo;
            category.CreatedDate    = DateTime.Now;
            category.LastUpdateBy   = category.CreatedBy;
            category.LastUpdateDate = category.CreatedDate;
            category.Status         = (int)Model.WorkflowStatus.ProductStatus.商品分类状态.效;



            //如果分类是子分类,则将继承父分类状态和显示样式
            if (category.ParentSysNo > 0)
            {
                category.SysNos = GetCategory(category.ParentSysNo).SysNos;
                PdCategory parentCategory = IPdCategoryDao.Instance.GetCategory(category.ParentSysNo);
                category.Status   = parentCategory.Status;
                category.IsOnline = parentCategory.IsOnline;
            }


            success =
                IPdCategoryDao.Instance.CreateCategory(category,
                                                       attributeGroupAso);

            //如果返回创建成功建提交事务
            if (success)
            {
                //用户操作日志
                BLL.Log.SysLog.Instance.Info(LogStatus.系统日志来源.后台,
                                             string.Format("新增商品分类{0}基本信息", category.SysNo),
                                             LogStatus.系统日志目标类型.商品分类基本信息, category.SysNo,
                                             AdminAuthenticationBo.Instance.Current.Base.SysNo);
            }
            else
            {
                //用户操作日志
                BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台,
                                              string.Format("新增商品分类{0}基本信息失败", category.SysNo),
                                              LogStatus.系统日志目标类型.商品分类基本信息, category.SysNo,
                                              AdminAuthenticationBo.Instance.Current.Base.SysNo);
            }


            BLL.Cache.DeleteCache.ProductCategory(category.SysNo);

            return(category.SysNo);
        }
Esempio n. 13
0
        /// <summary>
        /// 修改商品分类(返回ID)
        /// </summary>
        /// <param name="category"></param>
        /// <param name="attributeGroups"></param>
        /// <returns></returns>
        public int EditPdCategory(PdCategory category, IList <PdAttributeGroup> attributeGroups)
        {
            //string oldCode = null;
            int?   oldParentSysNo = null;
            string oldSysNos      = "";
            string newSysNos      = "";
            bool   success;
            //取得元数据
            PdCategory updateCategory = GetCategory(category.SysNo);

            //判断是否需要格式化基础信息
            if (updateCategory.ParentSysNo != category.ParentSysNo)
            {
                oldParentSysNo = updateCategory.ParentSysNo;
                //oldCode = updateCategory.;
                //updateCategory.Code = GetFreeCodeNum(category.ParentSysNo);
                //updateCategory.SysNos=
                oldSysNos = updateCategory.SysNos;

                newSysNos             = IPdCategoryDao.Instance.GetNewSysNos(category.ParentSysNo, category.SysNo);
                updateCategory.SysNos = newSysNos;
            }

            //赋新值
            updateCategory.CategoryImage  = category.CategoryImage;
            updateCategory.CategoryName   = category.CategoryName;
            updateCategory.LastUpdateBy   = category.LastUpdateBy;
            updateCategory.LastUpdateDate = category.LastUpdateDate;


            //稍后实现系统分类code的维护
            updateCategory.ParentSysNo    = category.ParentSysNo;
            updateCategory.SeoDescription = category.SeoDescription;
            updateCategory.SeoKeyword     = category.SeoKeyword;
            updateCategory.SeoTitle       = category.SeoTitle;

            IList <PdCatAttributeGroupAso> attributeGroupAso = new List <PdCatAttributeGroupAso>();

            //如果设有分类属性组,将添加设置的属性组
            if (attributeGroups != null && attributeGroups.Count > 0)
            {
                //遍历商品分类下挂的属性组,并初始化数据
                foreach (var group in attributeGroups)
                {
                    attributeGroupAso.Add(new PdCatAttributeGroupAso()
                    {
                        CreatedBy = AdminAuthenticationBo.Instance.GetAuthenticatedUser().SysNo
                        ,
                        CreatedDate          = DateTime.Now,
                        LastUpdateBy         = AdminAuthenticationBo.Instance.GetAuthenticatedUser().SysNo,
                        LastUpdateDate       = DateTime.Now,
                        ProductCategorySysNo = category.SysNo,
                        SysNo = 0,
                        AttributeGroupSysNo = group.SysNo
                    });
                }
            }


            //更新商品分类
            success = IPdCategoryDao.Instance.EditCategory(updateCategory, attributeGroupAso);

            //格式化信息
            if (success && oldParentSysNo != null)
            {
                //读取新分类下的空去位置,如果没有空缺位置就追加
                // success = success && IPdCategoryDao.Instance.UpdataChildrenCode(oldCode,updateCategory.Code);

                //更新子分类系统编号路由
                success = success && IPdCategoryDao.Instance.UpdateChildrenSysNos(oldSysNos, newSysNos, updateCategory.SysNo);
                //将该分类最近到新父分类末尾
                success = success && IPdCategoryDao.Instance.SetCategoryToLastShow(updateCategory);
            }

            //提交事务
            if (success)
            {
                //用户操作日志
                BLL.Log.SysLog.Instance.Info(LogStatus.系统日志来源.后台,
                                             string.Format("更新商品分类{0}基本信息", category.SysNo),
                                             LogStatus.系统日志目标类型.商品分类基本信息, category.SysNo,
                                             AdminAuthenticationBo.Instance.Current.Base.SysNo);
            }
            else
            {
                //用户操作日志
                BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台,
                                              string.Format("更新商品分类{0}基本信息失败", category.SysNo),
                                              LogStatus.系统日志目标类型.商品分类基本信息, category.SysNo,
                                              AdminAuthenticationBo.Instance.Current.Base.SysNo);
            }



            BLL.Cache.DeleteCache.ProductCategory(category.SysNo);

            return(category.SysNo);
        }
Esempio n. 14
0
 /// <summary>
 /// 保存分类信息
 /// </summary>
 /// <param name="updateCategory">分类实体对象</param>
 /// <returns>返回: true 成功 false 失败</returns>
 /// <remarks>2013-07-06 邵斌 创建</remarks>
 public abstract bool Update(PdCategory updateCategory);
Esempio n. 15
0
 /// <summary>
 /// 修改商品分类
 /// </summary>
 /// <param name="category">商品分类实体</param>
 /// <param name="attributeGroupAso">商品分类对应属性组</param>
 /// <returns>返回操作是否成功 true:成功   false:不成功</returns>
 /// <remarks>2013-06-25 邵斌 创建</remarks>
 public abstract bool EditCategory(PdCategory category, IList <PdCatAttributeGroupAso> attributeGroupAso);
Esempio n. 16
0
 /// <summary>
 /// 将分类排在父分类的末尾显示
 /// </summary>
 /// <param name="category">商品分类对象</param>
 /// <param name="context">供应数据库操作上线文</param>
 /// <returns></returns>
 /// <returns>返回: true 成功 false 失败</returns>
 /// <remarks>2013-07-12 邵斌 创建</remarks>
 public abstract bool SetCategoryToLastShow(PdCategory category, IDbContext context = null);