public ActionResult SaveGoodsProperty([FromBody] MdmGoodsPropertyMstrDto dto)
 {
     try
     {
         _mdmGoodsPropertyMstrService.SaveGoodsProperty(dto);
         return(Success("保存成功"));
     }
     catch (Exception ex)
     {
         return(Fail("保存失败:" + ex.Message));
     }
 }
Beispiel #2
0
        /// <summary>
        /// 保存属性
        /// </summary>
        /// <param name="dto"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        private bool SaveProperty(MdmGoodsPropertyMstrDto dto, ref string id)
        {
            _initHelper.InitAdd <MdmGoodsPropertyMstrDto>(dto, Convert.ToDecimal(AbpSession.USR_ID), AbpSession.ORG_NO, AbpSession.BG_NO);
            dto.PROPERTY_STATUS = 1;
            dto.PROPERTY_DOMAIN = 1;

            if (string.IsNullOrEmpty(dto.Id))
            {
                dto.Id = Guid.NewGuid().ToString("N");
                id     = dto.Id;

                return(_mdmGoodsPropertyMstrRepository.Insert(dto.ToEntity()) != null ? true : false);
            }
            else
            {
                dto.DEL_FLAG    = 1;
                dto.UPDATE_DATE = DateTime.Now;
                dto.UPDATE_PSN  = Convert.ToDecimal(AbpSession.USR_ID);

                return(_mdmGoodsPropertyMstrRepository.Insert(dto.ToEntity()) != null ? true : false);
            }
        }
Beispiel #3
0
        /// <summary>
        /// 保存商品分类属性
        /// </summary>
        /// <param name="dto"></param>
        public void SaveGoodsProperty(MdmGoodsPropertyMstrDto dto)
        {
            string propertyId = dto.Id;
            //保存主属性
            MdmGoodsPropertyMstrDto mstrProperty = new MdmGoodsPropertyMstrDto()
            {
                PROPERTY_NAME     = dto.PROPERTY_NAME,
                PROPERTY_TYPE     = 2,
                PROPERTY_PARENTID = dto.PROPERTY_EN_NAME,
                PROPERTY_LEVEL    = 0,
                PROPERTY_EN_NAME  = dto.PROPERTY_EN_NAME,
                Id = propertyId
            };

            if (!SaveProperty(mstrProperty, ref propertyId))
            {
                throw new Exception("绑定分类失败");
            }

            //保存属性明细
            string propertyItemId = "";

            string where = "";
            string _values = "|" + dto.PROPERTY_DEFAULT_VALUE + "|";

            string[] arr = dto.PROPERTY_DEFAULT_VALUE.Split('|');
            foreach (var item in arr)
            {
                MdmGoodsPropertyMstrDto itemProperty = new MdmGoodsPropertyMstrDto()
                {
                    PROPERTY_NAME          = dto.PROPERTY_NAME,
                    PROPERTY_TYPE          = 3,
                    PROPERTY_PARENTID      = propertyId,
                    PROPERTY_LEVEL         = 0,
                    PROPERTY_EN_NAME       = dto.PROPERTY_EN_NAME,
                    PROPERTY_DEFAULT_VALUE = item
                };

                if (!_mdmGoodsPropertyMstrRepository.ValidateProperty(propertyId, item) && !string.IsNullOrEmpty(item))
                {
                    if (!SaveProperty(itemProperty, ref propertyItemId))
                    {
                        throw new Exception("绑定属性明细失败");
                    }
                }

                //修改sku时,删除项验证
                if (!string.IsNullOrEmpty(propertyId))
                {
                    var list = _mdmGoodsPropertyMstrRepository.GetAllList(m => m.PROPERTY_PARENTID == propertyId);
                    //遍历数据库所有已存sku值
                    foreach (MdmGoodsPropertyMstr model in list)
                    {
                        //若该值已被删除(不包含在新数据内)
                        if (!_values.Contains("|" + model.PROPERTY_DEFAULT_VALUE + "|"))
                        {
                            //验证该值是否被商品使用
                            var mstrList = _mdmGoodsMstrRepository.GetAllList(m => m.SKU_PROPERTY_ID1 == model.Id || m.SKU_PROPERTY_ID2 == model.Id || m.SKU_PROPERTY_ID3 == model.Id || m.SKU_PROPERTY_ID4 == model.Id || m.SKU_PROPERTY_ID5 == model.Id);
                            if (mstrList != null && mstrList.Count > 0)
                            {
                                throw new Exception("sku已被使用:" + model.PROPERTY_DEFAULT_VALUE);
                            }
                        }
                    }
                }
                where += " and PROPERTY_DEFAULT_VALUE!='" + item + "'";
            }

            _mdmGoodsPropertyMstrRepository.DelProValue(propertyId, where);
        }