Example #1
0
        /// <summary>
        /// 保存规格值
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public async Task <ReturnResult> SaveValueAsync(SpecificationValueParameter parameter)
        {
            ReturnResult result = new ReturnResult();
            var          value  = Mapper.Map <SpecificationValue>(parameter);

            value.Name = value.Name?.Trim();
            //验证规格值名称
            if (string.IsNullOrEmpty(value.Name))
            {
                result.IsSuccess = false;
                result.Message   = "规格值名称不能为空";
                return(result);
            }
            //新增规格值
            if (value.Id <= 0)
            {
                //验证规格ID
                if (value.SpecificationId <= 0)
                {
                    result.IsSuccess = false;
                    result.Message   = "规格不存在";
                    return(result);
                }
                //验证规格值名称
                var tmpValue = await context.SpecificationValues.FirstOrDefaultAsync(c => c.SpecificationId == value.SpecificationId && c.Name == value.Name && c.IsDel == false);

                if (tmpValue != null)
                {
                    result.IsSuccess = false;
                    result.Message   = "规格值名称重复";
                    return(result);
                }
                //创建规格值
                await context.SpecificationValues.AddAsync(value);

                await context.SaveChangesAsync();

                result.Id = value.Id;
            }
            //更新规格值
            else
            {
                var oldSpecification = await context.SpecificationValues.FirstOrDefaultAsync(c => c.Id == value.Id);

                if (oldSpecification == null || oldSpecification.IsDel)
                {
                    result.IsSuccess = false;
                    result.Message   = "规格值已被删除";
                    return(result);
                }
                var tmpSpecification = await context.SpecificationValues.FirstOrDefaultAsync(c => c.SpecificationId == value.SpecificationId && c.Name == value.Name && c.IsDel == false);

                if (tmpSpecification != null && tmpSpecification.Id != oldSpecification.Id)
                {
                    result.IsSuccess = false;
                    result.Message   = "规格值名称重复";
                    return(result);
                }
                //更新规格名称
                oldSpecification.Name = value.Name;
                await context.SaveChangesAsync();
            }
            return(result);
        }
Example #2
0
        /// <summary>
        /// 保存规格值
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public async Task <IActionResult> SaveValue(SpecificationValueParameter parameter)
        {
            var result = await specificationManager.SaveValueAsync(parameter);

            return(Json(result));
        }